All Files (93.67% covered at 2036.92 hits/line)
605 files in total.
13615 relevant lines.
12753 lines covered and
862 lines missed
-
1
require 'ms_rest_azure'
-
1
require 'rest_client'
-
1
require 'erb'
-
1
require 'fog/azurerm/config'
-
1
require 'fog/azurerm/utilities/general'
-
1
require 'fog/azurerm/version'
-
1
require 'fog/core'
-
-
1
module Fog
-
# Autoload Module for Credentials
-
1
module Credentials
-
1
autoload :AzureRM, File.expand_path('azurerm/credentials', __dir__)
-
end
-
-
# Autoload Module for Compute
-
1
module Compute
-
1
autoload :AzureRM, File.expand_path('azurerm/compute', __dir__)
-
end
-
-
# Autoload Module for DNS
-
1
module DNS
-
1
autoload :AzureRM, File.expand_path('azurerm/dns', __dir__)
-
end
-
-
# Autoload Module for Network
-
1
module Network
-
1
autoload :AzureRM, File.expand_path('azurerm/network', __dir__)
-
end
-
-
# Autoload Module for Resources
-
1
module Resources
-
1
autoload :AzureRM, File.expand_path('azurerm/resources', __dir__)
-
end
-
-
# Autoload Module for TrafficManager
-
1
module TrafficManager
-
1
autoload :AzureRM, File.expand_path('azurerm/traffic_manager', __dir__)
-
end
-
-
# Autoload Module for Storage
-
1
module Storage
-
1
autoload :AzureRM, File.expand_path('azurerm/storage', __dir__)
-
end
-
-
# Autoload Module for ApplicationGateway
-
1
module ApplicationGateway
-
1
autoload :AzureRM, File.expand_path('azurerm/application_gateway', __dir__)
-
end
-
-
# Autoload Module for Sql
-
1
module Sql
-
1
autoload :AzureRM, File.expand_path('azurerm/sql', __dir__)
-
end
-
-
# Main AzureRM fog Provider Module
-
1
module AzureRM
-
1
extend Fog::Provider
-
1
service(:resources, 'Resources')
-
1
service(:dns, 'DNS')
-
1
service(:storage, 'Storage')
-
1
service(:network, 'Network')
-
1
service(:compute, 'Compute')
-
1
service(:application_gateway, 'ApplicationGateway')
-
1
service(:traffic_manager, 'TrafficManager')
-
1
service(:sql, 'Sql')
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
# Fog Service Class for AzureRM
-
1
class AzureRM < Fog::Service
-
1
requires :tenant_id
-
1
requires :client_id
-
1
requires :client_secret
-
1
requires :subscription_id
-
-
1
request_path 'fog/azurerm/requests/application_gateway'
-
1
request :create_or_update_application_gateway
-
1
request :delete_application_gateway
-
1
request :list_application_gateways
-
1
request :get_application_gateway
-
1
request :update_subnet_id_in_gateway_ip_configuration
-
1
request :update_sku_attributes
-
1
request :start_application_gateway
-
1
request :stop_application_gateway
-
-
1
model_path 'fog/azurerm/models/application_gateway'
-
1
model :gateway
-
1
collection :gateways
-
1
model :backend_address_pool
-
1
model :backend_http_setting
-
1
model :frontend_ip_configuration
-
1
model :frontend_port
-
1
model :ip_configuration
-
1
model :http_listener
-
1
model :probe
-
1
model :request_routing_rule
-
1
model :ssl_certificate
-
1
model :url_path_map
-
-
# Mock class for Application Gateway Service
-
1
class Mock
-
1
def initialize(_options = {})
-
begin
-
require 'azure_mgmt_network'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
end
-
end
-
-
# Real class for Application Gateway Service
-
1
class Real
-
1
def initialize(options = {})
-
31
begin
-
31
require 'azure_mgmt_network'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
-
31
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
-
31
@network_client = ::Azure::ARM::Network::NetworkManagementClient.new(credentials)
-
31
@network_client.subscription_id = options[:subscription_id]
-
31
@tenant_id = options[:tenant_id]
-
31
@client_id = options[:client_id]
-
31
@client_secret = options[:client_secret]
-
31
@subscription_id = options[:subscription_id]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
# This class registers models, requests and collections
-
1
class AzureRM < Fog::Service
-
1
requires :tenant_id
-
1
requires :client_id
-
1
requires :client_secret
-
1
requires :subscription_id
-
-
1
request_path 'fog/azurerm/requests/compute'
-
1
request :create_availability_set
-
1
request :delete_availability_set
-
1
request :list_availability_sets
-
1
request :get_availability_set
-
1
request :create_virtual_machine
-
1
request :delete_virtual_machine
-
1
request :get_virtual_machine
-
1
request :list_virtual_machines
-
1
request :list_available_sizes_for_virtual_machine
-
1
request :generalize_virtual_machine
-
1
request :deallocate_virtual_machine
-
1
request :power_off_virtual_machine
-
1
request :redeploy_virtual_machine
-
1
request :restart_virtual_machine
-
1
request :start_virtual_machine
-
1
request :check_vm_status
-
1
request :attach_data_disk_to_vm
-
1
request :detach_data_disk_from_vm
-
1
request :create_or_update_vm_extension
-
1
request :delete_vm_extension
-
1
request :get_vm_extension
-
-
1
model_path 'fog/azurerm/models/compute'
-
1
model :availability_set
-
1
collection :availability_sets
-
1
model :server
-
1
collection :servers
-
1
model :virtual_machine_extension
-
1
collection :virtual_machine_extensions
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def initialize(_options = {})
-
begin
-
require 'azure_mgmt_compute'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
end
-
end
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def initialize(options)
-
95
begin
-
95
require 'azure_mgmt_compute'
-
95
require 'azure_mgmt_storage'
-
95
require 'azure/storage'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
-
95
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
-
95
@compute_mgmt_client = ::Azure::ARM::Compute::ComputeManagementClient.new(credentials)
-
95
@compute_mgmt_client.subscription_id = options[:subscription_id]
-
95
@storage_mgmt_client = ::Azure::ARM::Storage::StorageManagementClient.new(credentials)
-
95
@storage_mgmt_client.subscription_id = options[:subscription_id]
-
95
@storage_service = Fog::Storage::AzureRM.new(tenant_id: options[:tenant_id], client_id: options[:client_id], client_secret: options[:client_secret], subscription_id: options[:subscription_id])
-
end
-
end
-
end
-
end
-
end
-
1
AZURE_RESOURCE = 'https://management.azure.com'.freeze
-
1
DEFAULT_ADDRESS_PREFIXES = ['10.2.0.0/16'].freeze
-
1
SUBNET = 'Subnet'.freeze
-
1
PUBLIC_IP = 'Public-IP-Address'.freeze
-
1
NETWORK_SECURITY_GROUP = 'Network-Security-Group'.freeze
-
1
STANDARD_STORAGE = 'Standard'.freeze
-
1
PREMIUM_STORAGE = 'Premium'.freeze
-
1
ALLOWED_STANDARD_REPLICATION = %w(LRS ZRS GRS RAGRS).freeze
-
1
API_VERSION = '2016-06-01'.freeze
-
1
FAULT_DOMAIN_COUNT = 3.freeze
-
1
UPDATE_DOMAIN_COUNT = 5.freeze
-
1
WINDOWS = 'windows'.freeze
-
1
VPN = 'Vpn'.freeze
-
1
MICROSOFT_PEERING = 'MicrosoftPeering'.freeze
-
1
RESOURCE_GROUP_NAME = 4
-
1
RESOURCE_PROVIDER_NAMESPACE = 6
-
1
RESOURCE_TYPE = 7
-
1
RESOURCE_NAME = 8
-
1
AZURE_ENDPOINTS = 'azureEndpoints'.freeze
-
1
EXTERNAL_ENDPOINTS = 'externalEndpoints'.freeze
-
1
NESTED_ENDPOINTS = 'nestedEndpoints'.freeze
-
1
GLOBAL = 'global'.freeze
-
1
WORKER_THREAD_COUNT = 8
-
1
VM_NAME_POSITION = 8
-
1
module Fog
-
1
module Credentials
-
# This class is managing credentials token
-
1
class AzureRM
-
1
def self.get_credentials(tenant_id, client_id, client_secret)
-
941
if @credentials.nil? || new_management_credential?(tenant_id, client_id, client_secret)
-
46
get_new_credentials(tenant_id, client_id, client_secret)
-
else
-
895
@credentials
-
end
-
end
-
-
1
def self.get_token(tenant_id, client_id, client_secret)
-
44
get_credentials(tenant_id, client_id, client_secret) if @credentials.nil?
-
44
@token_provider.get_authentication_header
-
end
-
-
1
def self.get_new_credentials(tenant_id, client_id, client_secret)
-
46
@tenant_id = tenant_id
-
46
@client_id = client_id
-
46
@client_secret = client_secret
-
46
return if @tenant_id.nil? || @client_id.nil? || @client_secret.nil?
-
23
@token_provider = MsRestAzure::ApplicationTokenProvider.new(@tenant_id, @client_id, @client_secret)
-
23
@credentials = MsRest::TokenCredentials.new(@token_provider)
-
23
@credentials
-
end
-
-
1
def self.new_management_credential?(tenant_id, client_id, client_secret)
-
@tenant_id != tenant_id ||
-
940
@client_id != client_id ||
-
@client_secret != client_secret
-
end
-
-
1
def self.new_account_credential?(options = {})
-
@account_name != options[:azure_storage_account_name] ||
-
282
@account_key != options[:azure_storage_access_key] ||
-
@connection_string != options[:azure_storage_connection_string]
-
end
-
-
1
private_class_method :get_new_credentials
-
1
private_class_method :new_management_credential?
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
# This class registers models, requests and collections
-
1
class AzureRM < Fog::Service
-
1
requires :tenant_id
-
1
requires :client_id
-
1
requires :client_secret
-
1
requires :subscription_id
-
-
1
request_path 'fog/azurerm/requests/dns'
-
1
request :create_or_update_zone
-
1
request :delete_zone
-
1
request :check_for_zone
-
1
request :list_zones
-
1
request :get_zone
-
1
request :create_or_update_record_set
-
1
request :delete_record_set
-
1
request :list_record_sets
-
1
request :get_records_from_record_set
-
1
request :get_record_set
-
-
1
model_path 'fog/azurerm/models/dns'
-
1
model :zone
-
1
collection :zones
-
1
model :record_set
-
1
collection :record_sets
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def initialize(_options = {})
-
end
-
end
-
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def initialize(options)
-
51
begin
-
51
require 'azure_mgmt_dns'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
-
51
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
-
51
@dns_client = ::Azure::ARM::Dns::DnsManagementClient.new(credentials)
-
51
@dns_client.subscription_id = options[:subscription_id]
-
51
@tenant_id = options[:tenant_id]
-
51
@client_id = options[:client_id]
-
51
@client_secret = options[:client_secret]
-
51
@resources = Fog::Resources::AzureRM.new(
-
tenant_id: options[:tenant_id],
-
client_id: options[:client_id],
-
client_secret: options[:client_secret],
-
subscription_id: options[:subscription_id]
-
)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Backend Address Pool model class for Application Gateway Service
-
1
class BackendAddressPool < Fog::Model
-
1
identity :name
-
1
attribute :ip_addresses
-
-
1
def self.parse(backend_address_pool)
-
27
hash = {}
-
27
backend_addresses = backend_address_pool.backend_addresses
-
27
hash['name'] = backend_address_pool.name
-
27
hash['ip_addresses'] = []
-
backend_addresses.each do |ip_address|
-
54
hash['ip_addresses'] << ip_address
-
27
end unless backend_addresses.nil?
-
27
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Backend Http Settings model class for Application Gateway Service
-
1
class BackendHttpSetting < Fog::Model
-
1
identity :name
-
1
attribute :port
-
1
attribute :protocol
-
1
attribute :cookie_based_affinity
-
1
attribute :request_timeout
-
1
attribute :probe
-
-
1
def self.parse(backend_http_setting)
-
27
hash = {}
-
27
hash['name'] = backend_http_setting.name
-
27
hash['port'] = backend_http_setting.port
-
27
hash['protocol'] = backend_http_setting.protocol
-
27
hash['cookie_based_affinity'] = backend_http_setting.cookie_based_affinity
-
27
hash['request_timeout'] = backend_http_setting.request_timeout
-
27
hash['probe'] = backend_http_setting.probe
-
27
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Frontend IP Configuration model class for Application Gateway Service
-
1
class FrontendIPConfiguration < Fog::Model
-
1
identity :name
-
1
attribute :public_ip_address_id
-
1
attribute :private_ip_allocation_method
-
1
attribute :private_ip_address
-
1
def self.parse(frontend_ip_configuration)
-
hash = {}
-
hash['name'] = frontend_ip_configuration.name
-
hash['public_ip_address_id'] = frontend_ip_configuration.public_ipaddress.id unless frontend_ip_configuration.public_ipaddress.nil?
-
hash['private_ip_allocation_method'] = frontend_ip_configuration.private_ipallocation_method
-
private_ip_address = frontend_ip_configuration.private_ipaddress
-
hash['private_ip_address'] = private_ip_address
-
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Frontenf Port model class for Application Gateway Service
-
1
class FrontendPort < Fog::Model
-
1
identity :name
-
1
attribute :port
-
-
1
def self.parse(frontend_port)
-
27
hash = {}
-
27
hash['name'] = frontend_port.name
-
27
hash['port'] = frontend_port.port
-
27
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Gateway model class for Application Gateway Service
-
1
class Gateway < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :provisioning_state
-
1
attribute :sku_name
-
1
attribute :sku_tier
-
1
attribute :sku_capacity
-
1
attribute :operational_state
-
1
attribute :gateway_ip_configurations
-
1
attribute :ssl_certificates
-
1
attribute :frontend_ip_configurations
-
1
attribute :frontend_ports
-
1
attribute :probes
-
1
attribute :backend_address_pools
-
1
attribute :backend_http_settings_list
-
1
attribute :http_listeners
-
1
attribute :url_path_maps
-
1
attribute :request_routing_rules
-
-
1
def self.parse(gateway)
-
27
hash = {}
-
27
hash['name'] = gateway.name
-
27
hash['id'] = gateway.id
-
27
hash['location'] = gateway.location
-
27
hash['resource_group'] = get_resource_group_from_id(gateway.id)
-
27
hash['provisioning_state'] = gateway.provisioning_state
-
27
unless gateway.sku.nil?
-
27
hash['sku_name'] = gateway.sku.name
-
27
hash['sku_tier'] = gateway.sku.tier
-
27
hash['sku_capacity'] = gateway.sku.capacity
-
end
-
27
hash['operational_state'] = gateway.operational_state
-
-
27
hash['gateway_ip_configurations'] = []
-
gateway.gateway_ipconfigurations.each do |ip_configuration|
-
gateway_ip_configuration = IPConfiguration.new
-
hash['gateway_ip_configurations'] << gateway_ip_configuration.merge_attributes(IPConfiguration.parse(ip_configuration))
-
27
end unless gateway.gateway_ipconfigurations.nil?
-
-
27
hash['ssl_certificates'] = []
-
gateway.ssl_certificates.each do |certificate|
-
27
ssl_certificate = SslCertificate.new
-
27
hash['ssl_certificates'] << ssl_certificate.merge_attributes(SslCertificate.parse(certificate))
-
27
end unless gateway.ssl_certificates.nil?
-
-
27
hash['frontend_ip_configurations'] = []
-
gateway.frontend_ipconfigurations.each do |frontend_ip_config|
-
frontend_ip_configuration = FrontendIPConfiguration.new
-
hash['frontend_ip_configurations'] << frontend_ip_configuration.merge_attributes(FrontendIPConfiguration.parse(frontend_ip_config))
-
27
end unless gateway.frontend_ipconfigurations.nil?
-
-
27
hash['frontend_ports'] = []
-
gateway.frontend_ports.each do |port|
-
27
frontend_port = FrontendPort.new
-
27
hash['frontend_ports'] << frontend_port.merge_attributes(FrontendPort.parse(port))
-
27
end unless gateway.frontend_ports.nil?
-
-
27
hash['probes'] = []
-
gateway.probes.each do |probe|
-
27
gateway_probe = Probe.new
-
27
hash['probes'] << gateway_probe.merge_attributes(Probe.parse(probe))
-
27
end unless gateway.probes.nil?
-
-
27
hash['backend_address_pools'] = []
-
gateway.backend_address_pools.each do |address|
-
27
backend_address_pool = BackendAddressPool.new
-
27
hash['backend_address_pools'] << backend_address_pool.merge_attributes(BackendAddressPool.parse(address))
-
27
end unless gateway.backend_address_pools.nil?
-
-
27
hash['backend_http_settings_list'] = []
-
gateway.backend_http_settings_collection.each do |http_setting|
-
27
backend_http_setting = BackendHttpSetting.new
-
27
hash['backend_http_settings_list'] << backend_http_setting.merge_attributes(BackendHttpSetting.parse(http_setting))
-
27
end unless gateway.backend_http_settings_collection.nil?
-
-
27
hash['http_listeners'] = []
-
gateway.http_listeners.each do |listener|
-
27
http_listener = HttpListener.new
-
27
hash['http_listeners'] << http_listener.merge_attributes(HttpListener.parse(listener))
-
27
end unless gateway.http_listeners.nil?
-
-
27
hash['url_path_maps'] = []
-
gateway.url_path_maps.each do |map|
-
url_path_map = UrlPathMap.new
-
hash['url_path_maps'] << url_path_map.merge_attributes(UrlPathMap.parse(map))
-
27
end unless gateway.url_path_maps.nil?
-
-
27
hash['request_routing_rules'] = []
-
gateway.request_routing_rules.each do |rule|
-
27
request_routing_rule = RequestRoutingRule.new
-
27
hash['request_routing_rules'] << request_routing_rule.merge_attributes(RequestRoutingRule.parse(rule))
-
27
end unless gateway.request_routing_rules.nil?
-
27
hash
-
end
-
-
1
def save
-
1
requires :name, :location, :resource_group, :sku_name, :sku_tier, :sku_capacity, :gateway_ip_configurations, :frontend_ip_configurations, :frontend_ports, :backend_address_pools, :backend_http_settings_list, :http_listeners, :request_routing_rules
-
-
1
validate_gateway_ip_configurations(gateway_ip_configurations) unless gateway_ip_configurations.nil?
-
1
validate_ssl_certificates(ssl_certificates) unless ssl_certificates.nil?
-
1
validate_frontend_ip_configurations(frontend_ip_configurations) unless frontend_ip_configurations.nil?
-
1
validate_frontend_ports(frontend_ports) unless frontend_ports.nil?
-
1
validate_probes(probes) unless probes.nil?
-
1
validate_backend_address_pools(backend_address_pools) unless backend_address_pools.nil?
-
1
validate_backend_http_settings_list(backend_http_settings_list) unless backend_http_settings_list.nil?
-
1
validate_http_listeners(http_listeners) unless http_listeners.nil?
-
1
validate_url_path_maps(url_path_maps) unless url_path_maps.nil?
-
1
validate_request_routing_rules(request_routing_rules) unless request_routing_rules.nil?
-
1
gateway = service.create_or_update_application_gateway(application_gateway_params)
-
1
merge_attributes(Gateway.parse(gateway))
-
end
-
-
1
def application_gateway_params
-
{
-
name: name,
-
location: location,
-
resource_group: resource_group,
-
sku_name: sku_name,
-
sku_tier: sku_tier,
-
sku_capacity: sku_capacity,
-
gateway_ip_configurations: gateway_ip_configurations,
-
ssl_certificates: ssl_certificates,
-
frontend_ip_configurations: frontend_ip_configurations,
-
frontend_ports: frontend_ports,
-
probes: probes,
-
backend_address_pools: backend_address_pools,
-
backend_http_settings_list: backend_http_settings_list,
-
http_listeners: http_listeners,
-
url_path_maps: url_path_maps,
-
request_routing_rules: request_routing_rules
-
9
}
-
end
-
-
1
def validate_gateway_ip_configurations(gateway_ip_configurations)
-
1
if gateway_ip_configurations.is_a?(Array)
-
1
if gateway_ip_configurations.any?
-
1
gateway_ip_configurations.each do |gateway_ip_configuration|
-
1
if gateway_ip_configuration.is_a?(Hash)
-
1
validate_gateway_ip_configuration_params(gateway_ip_configuration)
-
else
-
raise(ArgumentError, ':gateway_ip_configurations must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':gateway_ip_configurations must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':gateway_ip_configurations must be an Array')
-
end
-
end
-
-
1
def validate_gateway_ip_configuration_params(gateway_ip_configuration)
-
1
required_params = [
-
:name,
-
:subnet_id
-
]
-
3
missing = required_params.select { |p| p unless gateway_ip_configuration.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_ssl_certificates(ssl_certificates)
-
1
if ssl_certificates.is_a?(Array)
-
1
if ssl_certificates.any?
-
1
ssl_certificates.each do |ssl_certificate|
-
1
if ssl_certificate.is_a?(Hash)
-
1
validate_ssl_certificate_params(ssl_certificate)
-
else
-
raise(ArgumentError, ':ssl_certificates must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':ssl_certificates must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':ssl_certificates must be an Array')
-
end
-
end
-
-
1
def validate_ssl_certificate_params(ssl_certificate)
-
1
required_params = [
-
:name,
-
:data,
-
:password,
-
:public_cert_data
-
]
-
5
missing = required_params.select { |p| p unless ssl_certificate.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_frontend_ip_configurations(frontend_ip_configurations)
-
1
if frontend_ip_configurations.is_a?(Array)
-
1
if frontend_ip_configurations.any?
-
1
frontend_ip_configurations.each do |frontend_ip_configuration|
-
1
if frontend_ip_configuration.is_a?(Hash)
-
1
validate_frontend_ip_configuration_params(frontend_ip_configuration)
-
else
-
raise(ArgumentError, ':frontend_ip_configurations must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':frontend_ip_configurations must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':frontend_ip_configurations must be an Array')
-
end
-
end
-
-
1
def validate_frontend_ip_configuration_params(frontend_ip_configuration)
-
1
required_params = [
-
:name,
-
:public_ip_address_id,
-
:private_ip_allocation_method,
-
:private_ip_address
-
]
-
5
missing = required_params.select { |p| p unless frontend_ip_configuration.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_frontend_ports(frontend_ports)
-
1
if frontend_ports.is_a?(Array)
-
1
if frontend_ports.any?
-
1
frontend_ports.each do |frontend_port|
-
1
if frontend_port.is_a?(Hash)
-
1
validate_frontend_port_params(frontend_port)
-
else
-
raise(ArgumentError, ':frontend_ports must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':frontend_ports must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':frontend_ports must be an Array')
-
end
-
end
-
-
1
def validate_frontend_port_params(frontend_port)
-
1
required_params = [
-
:name,
-
:port
-
]
-
3
missing = required_params.select { |p| p unless frontend_port.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_probes(probes)
-
1
if probes.is_a?(Array)
-
1
if probes.any?
-
1
probes.each do |probe|
-
1
if probe.is_a?(Hash)
-
1
validate_probe_params(probe)
-
else
-
raise(ArgumentError, ':probes must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':probes must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':probes must be an Array')
-
end
-
end
-
-
1
def validate_probe_params(probe)
-
1
required_params = [
-
:name,
-
:protocol,
-
:host,
-
:path,
-
:interval,
-
:timeout,
-
:unhealthy_threshold
-
]
-
8
missing = required_params.select { |p| p unless probe.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_backend_address_pools(backend_address_pools)
-
1
if backend_address_pools.is_a?(Array)
-
1
if backend_address_pools.any?
-
1
backend_address_pools.each do |backend_address_pool|
-
1
if backend_address_pool.is_a?(Hash)
-
1
validate_backend_address_pool_params(backend_address_pool)
-
else
-
raise(ArgumentError, ':backend_address_pools must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':backend_address_pools must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':backend_address_pools must be an Array')
-
end
-
end
-
-
1
def validate_backend_address_pool_params(backend_address_pool)
-
1
required_params = [
-
:name,
-
:ip_addresses
-
]
-
3
missing = required_params.select { |p| p unless backend_address_pool.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_backend_http_settings_list(backend_http_settings_list)
-
1
if backend_http_settings_list.is_a?(Array)
-
1
if backend_http_settings_list.any?
-
1
backend_http_settings_list.each do |backend_http_settings|
-
1
if backend_http_settings.is_a?(Hash)
-
1
validate_backend_http_settings_params(backend_http_settings)
-
else
-
raise(ArgumentError, ':backend_http_settings_list must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':backend_http_settings_list must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':backend_http_settings_list must be an Array')
-
end
-
end
-
-
1
def validate_backend_http_settings_params(backend_http_settings)
-
1
required_params = [
-
:name,
-
:port,
-
:protocol,
-
:cookie_based_affinity,
-
:request_timeout
-
]
-
6
missing = required_params.select { |p| p unless backend_http_settings.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_http_listeners(http_listeners)
-
1
if http_listeners.is_a?(Array)
-
1
if http_listeners.any?
-
1
http_listeners.each do |http_listener|
-
1
if http_listener.is_a?(Hash)
-
1
validate_http_listener_params(http_listener)
-
else
-
raise(ArgumentError, ':http_listeners must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':http_listeners must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':http_listeners must be an Array')
-
end
-
end
-
-
1
def validate_http_listener_params(http_listener)
-
1
required_params = [
-
:name,
-
:frontend_ip_config_id,
-
:frontend_port_id,
-
:protocol
-
]
-
5
missing = required_params.select { |p| p unless http_listener.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_url_path_maps(url_path_maps)
-
1
if url_path_maps.is_a?(Array)
-
1
if url_path_maps.any?
-
1
url_path_maps.each do |url_path_map|
-
1
if url_path_map.is_a?(Hash)
-
1
validate_url_path_map_params(url_path_map)
-
else
-
raise(ArgumentError, ':url_path_maps must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':url_path_maps must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':url_path_maps must be an Array')
-
end
-
end
-
-
1
def validate_url_path_map_params(url_path_map)
-
1
required_params = [
-
:name,
-
:default_backend_address_pool_id,
-
:default_backend_http_settings_id,
-
:path_rules
-
]
-
5
missing = required_params.select { |p| p unless url_path_map.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_request_routing_rules(request_routing_rules)
-
1
if request_routing_rules.is_a?(Array)
-
1
if request_routing_rules.any?
-
1
request_routing_rules.each do |request_routing_rule|
-
1
if request_routing_rule.is_a?(Hash)
-
1
validate_request_routing_rule_params(request_routing_rule)
-
else
-
raise(ArgumentError, ':request_routing_rules must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':request_routing_rules must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':request_routing_rules must be an Array')
-
end
-
end
-
-
1
def validate_request_routing_rule_params(request_routing_rule)
-
1
required_params = [
-
:type,
-
:http_listener_id
-
]
-
3
missing = required_params.select { |p| p unless request_routing_rule.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def serialize_sub_resources(gateway_params)
-
8
ip_configurations = []
-
8
gateway_params[:gateway_ip_configurations].each do |ip_configuration|
-
hash = {}
-
ip_configuration.attributes.each { |key, value| hash[key] = value }
-
ip_configurations << hash
-
end
-
8
gateway_params[:gateway_ip_configurations] = ip_configurations
-
8
ssl_certificates = []
-
8
gateway_params[:ssl_certificates].each do |ssl_certificate|
-
8
hash = {}
-
40
ssl_certificate.attributes.each { |key, value| hash[key] = value }
-
8
ssl_certificates << hash
-
end
-
8
gateway_params[:ssl_certificates] = ssl_certificates
-
8
frontend_ip_configurations = []
-
8
gateway_params[:frontend_ip_configurations].each do |frontend_ip_configuration|
-
hash = {}
-
frontend_ip_configuration.attributes.each { |key, value| hash[key] = value }
-
frontend_ip_configurations << hash
-
end
-
8
gateway_params[:frontend_ip_configurations] = frontend_ip_configurations
-
8
frontend_ports = []
-
8
gateway_params[:frontend_ports].each do |frontend_port|
-
8
hash = {}
-
24
frontend_port.attributes.each { |key, value| hash[key] = value }
-
8
frontend_ports << hash
-
end
-
8
gateway_params[:frontend_ports] = frontend_ports
-
8
probes = []
-
8
gateway_params[:probes].each do |probe|
-
8
hash = {}
-
64
probe.attributes.each { |key, value| hash[key] = value }
-
8
probes << hash
-
end
-
8
gateway_params[:probes] = probes
-
8
backend_address_pools = []
-
8
gateway_params[:backend_address_pools].each do |backend_address_pool|
-
8
hash = {}
-
24
backend_address_pool.attributes.each { |key, value| hash[key] = value }
-
8
backend_address_pools << hash
-
end
-
8
gateway_params[:backend_address_pools] = backend_address_pools
-
8
backend_address_ip_addresses = []
-
8
gateway_params[:backend_address_pools].each do |backend_address_pool|
-
8
backend_address_pool[:ip_addresses].each do |ip_address|
-
16
hash = {}
-
32
ip_address.instance_variables.each_with_object({}) { |instance_variable| hash[:ipAddress] = ip_address.instance_variable_get(instance_variable) }
-
16
backend_address_ip_addresses << hash
-
end
-
8
backend_address_pool[:ip_addresses] = backend_address_ip_addresses
-
end
-
8
backend_http_settings_list = []
-
8
gateway_params[:backend_http_settings_list].each do |backend_http_setting|
-
8
hash = {}
-
56
backend_http_setting.attributes.each { |key, value| hash[key] = value }
-
8
backend_http_settings_list << hash
-
end
-
8
gateway_params[:backend_http_settings_list] = backend_http_settings_list
-
8
http_listeners = []
-
8
gateway_params[:http_listeners].each do |http_listener|
-
8
hash = {}
-
64
http_listener.attributes.each { |key, value| hash[key] = value }
-
8
http_listeners << hash
-
end
-
8
gateway_params[:http_listeners] = http_listeners
-
8
url_path_maps = []
-
8
gateway_params[:url_path_maps].each do |url_path_map|
-
hash = {}
-
url_path_map.attributes.each { |key, value| hash[key] = value }
-
url_path_maps << hash
-
end
-
8
gateway_params[:url_path_maps] = url_path_maps
-
8
request_routing_rules = []
-
8
gateway_params[:request_routing_rules].each do |request_routing_rule|
-
8
hash = {}
-
48
request_routing_rule.attributes.each { |key, value| hash[key] = value }
-
8
request_routing_rules << hash
-
end
-
8
gateway_params[:request_routing_rules] = request_routing_rules
-
8
gateway_params
-
end
-
-
1
def update_sku(sku_name, sku_capacity = nil)
-
1
gateway_hash = serialize_sub_resources(application_gateway_params)
-
1
gateway = service.update_sku_attributes(gateway_hash, sku_name, sku_capacity)
-
1
merge_attributes(Fog::ApplicationGateway::AzureRM::Gateway.parse(gateway))
-
end
-
-
1
def update_gateway_ip_configuration(subnet_id)
-
1
gateway_hash = serialize_sub_resources(application_gateway_params)
-
1
gateway = service.update_subnet_id_in_gateway_ip_configuration(gateway_hash, subnet_id)
-
1
merge_attributes(Fog::ApplicationGateway::AzureRM::Gateway.parse(gateway))
-
end
-
-
1
def add_ssl_certificate(ssl_certificate_obj)
-
1
gateway_hash = serialize_sub_resources(application_gateway_params)
-
1
gateway_hash[:ssl_certificates] << ssl_certificate_obj
-
1
gateway = service.create_or_update_application_gateway(gateway_hash)
-
1
merge_attributes(Fog::ApplicationGateway::AzureRM::Gateway.parse(gateway))
-
end
-
-
1
def remove_ssl_certificate(ssl_certificate_obj)
-
1
gateway_hash = serialize_sub_resources(application_gateway_params)
-
1
gateway_hash[:ssl_certificates].delete(ssl_certificate_obj)
-
1
gateway = service.create_or_update_application_gateway(gateway_hash)
-
1
merge_attributes(Fog::ApplicationGateway::AzureRM::Gateway.parse(gateway))
-
end
-
-
1
def add_frontend_port(frontend_port_obj)
-
1
gateway_hash = serialize_sub_resources(application_gateway_params)
-
1
gateway_hash[:frontend_ports] << frontend_port_obj
-
1
gateway = service.create_or_update_application_gateway(gateway_hash)
-
1
merge_attributes(Fog::ApplicationGateway::AzureRM::Gateway.parse(gateway))
-
end
-
-
1
def remove_frontend_port(frontend_port_obj)
-
1
gateway_hash = serialize_sub_resources(application_gateway_params)
-
1
gateway_hash[:frontend_ports].delete(frontend_port_obj)
-
1
gateway = service.create_or_update_application_gateway(gateway_hash)
-
1
merge_attributes(Fog::ApplicationGateway::AzureRM::Gateway.parse(gateway))
-
end
-
-
1
def add_probe(probe_obj)
-
1
gateway_hash = serialize_sub_resources(application_gateway_params)
-
1
gateway_hash[:probes] << probe_obj
-
1
gateway = service.create_or_update_application_gateway(gateway_hash)
-
1
merge_attributes(Fog::ApplicationGateway::AzureRM::Gateway.parse(gateway))
-
end
-
-
1
def remove_probe(probe_obj)
-
1
gateway_hash = serialize_sub_resources(application_gateway_params)
-
1
gateway_hash[:probes].delete(probe_obj)
-
1
gateway = service.create_or_update_application_gateway(gateway_hash)
-
1
merge_attributes(Fog::ApplicationGateway::AzureRM::Gateway.parse(gateway))
-
end
-
-
1
def start
-
1
service.start_application_gateway(resource_group, name)
-
end
-
-
1
def stop
-
1
service.stop_application_gateway(resource_group, name)
-
end
-
-
1
def destroy
-
1
service.delete_application_gateway(resource_group, name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Application Gateway collection class for Application Gateway Service
-
1
class Gateways < Fog::Collection
-
1
model Gateway
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
3
application_gateways = []
-
3
service.list_application_gateways(resource_group).each do |gateway|
-
3
application_gateways << Gateway.parse(gateway)
-
end
-
3
load(application_gateways)
-
end
-
-
1
def get(resource_group_name, application_gateway_name)
-
15
gateway = service.get_application_gateway(resource_group_name, application_gateway_name)
-
15
application_gateway = Gateway.new(service: service)
-
15
application_gateway.merge_attributes(Gateway.parse(gateway))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Http Listener class for Application Gateway Service
-
1
class HttpListener < Fog::Model
-
1
identity :name
-
1
attribute :frontend_ip_config_id
-
1
attribute :frontend_port_id
-
1
attribute :protocol
-
1
attribute :host_name
-
1
attribute :ssl_certificate_id
-
1
attribute :require_server_name_indication
-
-
1
def self.parse(http_listener)
-
27
hash = {}
-
27
hash['name'] = http_listener.name
-
27
hash['frontend_ip_config_id'] = http_listener.frontend_ipconfiguration.id unless http_listener.frontend_ipconfiguration.nil?
-
27
hash['frontend_port_id'] = http_listener.frontend_port.id unless http_listener.frontend_port.nil?
-
27
hash['protocol'] = http_listener.protocol
-
27
hash['host_name'] = http_listener.host_name
-
27
hash['ssl_certificate_id'] = http_listener.ssl_certificate.id unless http_listener.ssl_certificate.nil?
-
27
hash['require_server_name_indication'] = http_listener.require_server_name_indication
-
27
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# GatewayIPConfiguration model class for Application Gateway Service
-
1
class IPConfiguration < Fog::Model
-
1
identity :name
-
1
attribute :subnet_id
-
-
1
def self.parse(gateway_ip_configuration)
-
hash = {}
-
if gateway_ip_configuration.is_a? Hash
-
hash['name'] = gateway_ip_configuration['name']
-
hash['subnet_id'] = gateway_ip_configuration['subnet']['id'] unless gateway_ip_configuration['subnet'].nil?
-
else
-
hash['name'] = gateway_ip_configuration.name
-
hash['subnet_id'] = gateway_ip_configuration.subnet.id unless gateway_ip_configuration.subnet.nil?
-
end
-
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Probe model class for Application Gateway Service
-
1
class Probe < Fog::Model
-
1
identity :name
-
1
attribute :protocol
-
1
attribute :host
-
1
attribute :path
-
1
attribute :interval
-
1
attribute :timeout
-
1
attribute :unhealthy_threshold
-
-
1
def self.parse(probe)
-
27
hash = {}
-
27
hash['name'] = probe.name
-
27
hash['protocol'] = probe.protocol
-
27
hash['host'] = probe.host
-
27
hash['path'] = probe.path
-
27
hash['interval'] = probe.interval
-
27
hash['timeout'] = probe.timeout
-
27
hash['unhealthy_threshold'] = probe.unhealthy_threshold
-
27
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Request Routing Rule model class for Application Gateway Service
-
1
class RequestRoutingRule < Fog::Model
-
1
identity :name
-
1
attribute :type
-
1
attribute :http_listener_id
-
1
attribute :backend_address_pool_id
-
1
attribute :backend_http_settings_id
-
1
attribute :url_path_map
-
-
1
def self.parse(request_routing_rule)
-
27
hash = {}
-
27
hash['name'] = request_routing_rule.name
-
27
hash['type'] = request_routing_rule.rule_type
-
27
hash['http_listener_id'] = request_routing_rule.http_listener.id unless request_routing_rule.http_listener.nil?
-
27
hash['backend_address_pool_id'] = request_routing_rule.backend_address_pool.id unless request_routing_rule.backend_address_pool.nil?
-
27
hash['backend_http_settings_id'] = request_routing_rule.backend_http_settings.id unless request_routing_rule.backend_http_settings.nil?
-
27
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# SSL Certificate model class for Application Gateway Service
-
1
class SslCertificate < Fog::Model
-
1
identity :name
-
1
attribute :data
-
1
attribute :password
-
1
attribute :public_cert_data
-
-
1
def self.parse(ssl_certificate)
-
27
hash = {}
-
27
hash['name'] = ssl_certificate.name
-
27
hash['data'] = ssl_certificate.data
-
27
hash['password'] = ssl_certificate.password
-
27
hash['public_cert_data'] = ssl_certificate.public_cert_data
-
27
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# URL Path Map model class for Application Gateway Service
-
1
class UrlPathMap < Fog::Model
-
1
identity :name
-
1
attribute :default_backend_address_pool_id
-
1
attribute :default_backend_http_settings_id
-
1
attribute :path_rules
-
-
1
def self.parse(url_path_map)
-
hash = {}
-
hash['name'] = url_path_map.name
-
hash['default_backend_address_pool_id'] = url_path_map.default_backend_address_pool.id unless url_path_map.default_backend_address_pool.nil?
-
hash['default_backend_http_settings_id'] = url_path_map.default_backend_http_settings.id unless url_path_map.default_backend_http_settings.nil?
-
-
path_rules = url_path_map.path_rules
-
hash['path_rules'] = []
-
path_rules.each do |rule|
-
path_rule = Fog::Network::AzureRM::PathRule.new
-
hash['path_rules'] << path_rule.merge_attributes(Fog::Network::AzureRM::PathRule.parse(rule))
-
end unless path_rules.nil?
-
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for Availability Set.
-
1
class AvailabilitySet < Fog::Model
-
1
attribute :id
-
1
identity :name
-
1
attribute :type
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :platform_update_domain_count
-
1
attribute :platform_fault_domain_count
-
-
1
def self.parse(availability_set)
-
5
hash = {}
-
5
hash['id'] = availability_set.id
-
5
hash['name'] = availability_set.name
-
5
hash['type'] = availability_set.type
-
5
hash['location'] = availability_set.location
-
5
hash['resource_group'] = get_resource_group_from_id(availability_set.id)
-
5
hash['platform_update_domain_count'] = availability_set.platform_update_domain_count
-
5
hash['platform_fault_domain_count'] = availability_set.platform_fault_domain_count
-
5
hash
-
end
-
-
1
def save
-
1
requires :name
-
1
requires :location
-
1
requires :resource_group
-
# need to create the availability set
-
1
as = service.create_availability_set(resource_group, name, location)
-
1
hash = Fog::Compute::AzureRM::AvailabilitySet.parse(as)
-
1
merge_attributes(hash)
-
end
-
-
1
def destroy
-
2
service.delete_availability_set(resource_group, name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class is giving implementation of all/list, get and
-
# check name availability for storage account.
-
1
class AvailabilitySets < Fog::Collection
-
1
model AvailabilitySet
-
1
attribute :resource_group
-
1
def all
-
3
accounts = []
-
3
requires :resource_group
-
3
list_of_availability_sets =
-
service.list_availability_sets(resource_group)
-
3
unless list_of_availability_sets.nil?
-
3
list_of_availability_sets.each do |account|
-
3
parse_response = AvailabilitySet.parse(account)
-
3
accounts << parse_response
-
end
-
end
-
3
load(accounts)
-
end
-
-
1
def get(resource_group, identity)
-
1
availability_set = service.get_availability_set(resource_group, identity)
-
1
availability_set_fog = AvailabilitySet.new(service: service)
-
1
availability_set_fog.merge_attributes(AvailabilitySet.parse(availability_set))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for Virtual Machine.
-
1
class Server < Fog::Model
-
1
attribute :id
-
1
identity :name
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :vm_size
-
1
attribute :storage_account_name
-
1
attribute :os_disk_name
-
1
attribute :os_disk_vhd_uri
-
1
attribute :publisher
-
1
attribute :offer
-
1
attribute :sku
-
1
attribute :version
-
1
attribute :username
-
1
attribute :password
-
1
attribute :data_disks
-
1
attribute :disable_password_authentication
-
1
attribute :ssh_key_path
-
1
attribute :ssh_key_data
-
1
attribute :platform
-
1
attribute :provision_vm_agent
-
1
attribute :enable_automatic_updates
-
1
attribute :network_interface_card_id
-
1
attribute :availability_set_id
-
1
attribute :custom_data
-
1
attribute :vhd_path
-
-
1
def self.parse(vm)
-
9
hash = {}
-
9
hash['id'] = vm.id
-
9
hash['name'] = vm.name
-
9
hash['location'] = vm.location
-
9
hash['resource_group'] = get_resource_group_from_id(vm.id)
-
9
hash['vm_size'] = vm.hardware_profile.vm_size unless vm.hardware_profile.vm_size.nil?
-
9
unless vm.storage_profile.nil?
-
9
hash['os_disk_name'] = vm.storage_profile.os_disk.name
-
9
hash['os_disk_vhd_uri'] = vm.storage_profile.os_disk.vhd.uri
-
9
unless vm.storage_profile.image_reference.nil?
-
9
hash['publisher'] = vm.storage_profile.image_reference.publisher
-
9
hash['offer'] = vm.storage_profile.image_reference.offer
-
9
hash['sku'] = vm.storage_profile.image_reference.sku
-
9
hash['version'] = vm.storage_profile.image_reference.version
-
end
-
end
-
9
hash['username'] = vm.os_profile.admin_username
-
9
hash['custom_data'] = vm.os_profile.custom_data
-
9
hash['data_disks'] = []
-
-
vm.storage_profile.data_disks.each do |disk|
-
4
data_disk = Fog::Storage::AzureRM::DataDisk.new
-
4
hash['data_disks'] << data_disk.merge_attributes(Fog::Storage::AzureRM::DataDisk.parse(disk))
-
9
end unless vm.storage_profile.data_disks.nil?
-
-
9
hash['disable_password_authentication'] = false
-
9
hash['disable_password_authentication'] = vm.os_profile.linux_configuration.disable_password_authentication unless vm.os_profile.linux_configuration.nil?
-
9
if vm.os_profile.windows_configuration
-
6
hash['provision_vm_agent'] = vm.os_profile.windows_configuration.provision_vmagent
-
6
hash['enable_automatic_updates'] = vm.os_profile.windows_configuration.enable_automatic_updates
-
end
-
9
hash['network_interface_card_id'] = vm.network_profile.network_interfaces[0].id
-
9
hash['availability_set_id'] = vm.availability_set.id unless vm.availability_set.nil?
-
-
9
hash
-
end
-
-
1
def save
-
3
requires :name, :location, :resource_group, :vm_size, :storage_account_name,
-
:username, :password, :network_interface_card_id
-
3
requires :disable_password_authentication if platform.casecmp('linux').zero?
-
3
requires :publisher, :offer, :sku, :version if vhd_path.nil?
-
3
ssh_key_path = "/home/#{username}/.ssh/authorized_keys" unless ssh_key_data.nil?
-
3
vm = service.create_virtual_machine(virtual_machine_params(ssh_key_path))
-
3
merge_attributes(Server.parse(vm))
-
end
-
-
1
def destroy
-
1
service.delete_virtual_machine(resource_group, name)
-
end
-
-
1
def generalize
-
1
service.generalize_virtual_machine(resource_group, name)
-
end
-
-
1
def power_off
-
1
service.power_off_virtual_machine(resource_group, name)
-
end
-
-
1
def start
-
1
service.start_virtual_machine(resource_group, name)
-
end
-
-
1
def restart
-
1
service.restart_virtual_machine(resource_group, name)
-
end
-
-
1
def deallocate
-
1
service.deallocate_virtual_machine(resource_group, name)
-
end
-
-
1
def redeploy
-
1
service.redeploy_virtual_machine(resource_group, name)
-
end
-
-
1
def list_available_sizes
-
1
service.list_available_sizes_for_virtual_machine(resource_group, name)
-
end
-
-
1
def vm_status
-
1
service.check_vm_status(resource_group, name)
-
end
-
-
1
def attach_data_disk(disk_name, disk_size, storage_account_name)
-
1
vm = service.attach_data_disk_to_vm(resource_group, name, disk_name, disk_size, storage_account_name)
-
1
merge_attributes(Server.parse(vm))
-
end
-
-
1
def detach_data_disk(disk_name)
-
1
vm = service.detach_data_disk_from_vm(resource_group, name, disk_name)
-
1
merge_attributes(Server.parse(vm))
-
end
-
-
1
private
-
-
1
def virtual_machine_params(ssh_key_path)
-
{
-
resource_group: resource_group,
-
name: name,
-
location: location,
-
vm_size: vm_size,
-
storage_account_name: storage_account_name,
-
username: username,
-
password: password,
-
disable_password_authentication: disable_password_authentication,
-
ssh_key_path: ssh_key_path,
-
ssh_key_data: ssh_key_data,
-
network_interface_card_id: network_interface_card_id,
-
availability_set_id: availability_set_id,
-
publisher: publisher,
-
offer: offer,
-
sku: sku,
-
version: version,
-
platform: platform,
-
provision_vm_agent: provision_vm_agent,
-
enable_automatic_updates: enable_automatic_updates,
-
custom_data: custom_data,
-
vhd_path: vhd_path
-
3
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class is giving implementation of all/list, and get
-
# for Server.
-
1
class Servers < Fog::Collection
-
1
attribute :resource_group
-
1
model Server
-
-
1
def all
-
3
requires :resource_group
-
3
virtual_machines = []
-
3
service.list_virtual_machines(resource_group).each do |vm|
-
3
virtual_machines << Server.parse(vm)
-
end
-
3
load(virtual_machines)
-
end
-
-
1
def get(resource_group_name, virtual_machine_name)
-
1
virtual_machine = service.get_virtual_machine(resource_group_name, virtual_machine_name)
-
1
virtual_machine_fog = Server.new(service: service)
-
1
virtual_machine_fog.merge_attributes(Server.parse(virtual_machine))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class is giving implementation For Virtual Machine Extension
-
1
class VirtualMachineExtension < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :location
-
1
attribute :vm_name
-
1
attribute :type
-
1
attribute :publisher
-
1
attribute :type_handler_version
-
1
attribute :auto_upgrade_minor_version
-
1
attribute :settings
-
1
attribute :protected_settings
-
-
1
def self.parse(vm_extension)
-
3
virtual_machine_extension = {}
-
3
virtual_machine_extension[:id] = vm_extension.id
-
3
virtual_machine_extension[:resource_group] = get_resource_group_from_id(vm_extension.id)
-
3
virtual_machine_extension[:name] = vm_extension.name
-
3
virtual_machine_extension[:location] = vm_extension.location
-
3
virtual_machine_extension[:vm_name] = get_virtual_machine_from_id(vm_extension.id)
-
3
virtual_machine_extension[:type] = vm_extension.virtual_machine_extension_type
-
3
virtual_machine_extension[:publisher] = vm_extension.publisher
-
3
virtual_machine_extension[:type_handler_version] = vm_extension.type_handler_version
-
3
virtual_machine_extension[:auto_upgrade_minor_version] = vm_extension.auto_upgrade_minor_version
-
3
virtual_machine_extension[:settings] = vm_extension.settings
-
3
virtual_machine_extension[:protected_settings] = vm_extension.protected_settings
-
3
virtual_machine_extension
-
end
-
-
1
def save
-
1
requires :resource_group, :location, :name, :vm_name, :type, :publisher, :type_handler_version, :settings
-
1
vm_extension = service.create_or_update_vm_extension(vm_extension_params)
-
1
merge_attributes(VirtualMachineExtension.parse(vm_extension))
-
end
-
-
1
def update(vm_extension_input)
-
1
validate_input(vm_extension_input)
-
1
merge_attributes(vm_extension_input) unless vm_extension_input.empty?
-
1
vm_extension = service.create_or_update_vm_extension(vm_extension_params)
-
1
merge_attributes(VirtualMachineExtension.parse(vm_extension))
-
end
-
-
1
def destroy
-
1
service.delete_vm_extension(resource_group, vm_name, name)
-
end
-
-
1
private
-
-
1
def validate_input(vm_extension_input)
-
1
invalid_attr = [:id, :resource_group, :location, :name, :vm_name, :type, :publisher]
-
1
result = invalid_attr & vm_extension_input.keys
-
1
raise 'Cannot modify the given attribute(s)' unless result.empty?
-
end
-
-
1
def vm_extension_params
-
{
-
resource_group: resource_group,
-
location: location,
-
name: name,
-
vm_name: vm_name,
-
type: type,
-
publisher: publisher,
-
type_handler_version: type_handler_version,
-
auto_upgrade_minor_version: auto_upgrade_minor_version,
-
settings: settings,
-
protected_settings: protected_settings
-
2
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class gives the implementation for get for virtual machine extension
-
1
class VirtualMachineExtensions < Fog::Collection
-
1
model VirtualMachineExtension
-
1
attribute :resource_group
-
1
attribute :vm_name
-
-
1
def all
-
requires :resource_group, :vm_name
-
vm_extensions = []
-
service.get_virtual_machine(resource_group, vm_name).resources.compact.each do |extension|
-
vm_extensions << VirtualMachineExtension.parse(extension)
-
end
-
load(vm_extensions)
-
end
-
-
1
def get(resource_group_name, virtual_machine_name, vm_extension_name)
-
1
vm_extension = service.get_vm_extension(resource_group_name, virtual_machine_name, vm_extension_name)
-
1
vm_extension_fog = VirtualMachineExtension.new(service: service)
-
1
vm_extension_fog.merge_attributes(VirtualMachineExtension.parse(vm_extension))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for RecordSet.
-
1
class RecordSet < Fog::Model
-
1
attribute :id
-
1
identity :name
-
1
attribute :resource_group
-
1
attribute :zone_name
-
1
attribute :records
-
1
attribute :type
-
1
attribute :ttl
-
1
attribute :cname_record
-
1
attribute :a_records
-
-
1
def self.parse(recordset)
-
10
hash = {}
-
10
hash['id'] = recordset.id
-
10
hash['name'] = recordset.name
-
10
hash['resource_group'] = get_resource_group_from_id(recordset.id)
-
10
hash['zone_name'] = get_record_set_from_id(recordset.id)
-
10
hash['type'] = recordset.type
-
10
type = get_type_from_recordset_type(recordset.type)
-
10
hash['records'] = []
-
10
if type == 'A'
-
9
record_entries = recordset.arecords
-
9
record_entries.each do |record|
-
18
hash['records'] << record.ipv4address
-
end
-
end
-
10
if type == 'CNAME'
-
1
record_entries = recordset.cname_record
-
1
hash['records'] << record_entries
-
end
-
10
hash['a_records'] = recordset.arecords if type == 'A'
-
10
hash['cname_record'] = recordset.cname_record if type == 'CNAME'
-
10
hash['ttl'] = recordset.ttl
-
10
hash
-
end
-
-
1
def save
-
2
requires :name, :resource_group, :zone_name, :records, :type, :ttl
-
2
record_set = service.create_or_update_record_set(record_set_params, type)
-
2
merge_attributes(Fog::DNS::AzureRM::RecordSet.parse(record_set))
-
end
-
-
1
def destroy
-
2
service.delete_record_set(resource_group, name, zone_name, get_record_type(type))
-
end
-
-
1
def get_records(resource_group, name, zone_name, record_type)
-
1
service.get_records_from_record_set(resource_group, name, zone_name, record_type)
-
end
-
-
1
def update_ttl(ttl)
-
1
params = record_set_params
-
1
params[:ttl] = ttl
-
1
record_set = service.create_or_update_record_set(params, get_record_type(type))
-
1
merge_attributes(Fog::DNS::AzureRM::RecordSet.parse(record_set))
-
end
-
-
1
def add_a_type_record(record)
-
1
records << record
-
1
record_set = service.create_or_update_record_set(record_set_params, get_record_type(type))
-
1
merge_attributes(Fog::DNS::AzureRM::RecordSet.parse(record_set))
-
end
-
-
1
def remove_a_type_record(record)
-
1
records.delete(record)
-
1
record_set = service.create_or_update_record_set(record_set_params, get_record_type(type))
-
1
merge_attributes(Fog::DNS::AzureRM::RecordSet.parse(record_set))
-
end
-
-
1
private
-
-
1
def record_set_params
-
{
-
name: name,
-
resource_group: resource_group,
-
zone_name: zone_name,
-
records: records,
-
ttl: ttl,
-
cname_record: cname_record,
-
a_records: a_records
-
5
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# This class is giving implementation of
-
# all/get for RecordSets.
-
1
class RecordSets < Fog::Collection
-
1
attribute :resource_group
-
1
attribute :zone_name
-
1
attribute :type
-
-
1
model RecordSet
-
-
1
def all
-
4
requires :resource_group, :zone_name
-
4
record_sets = []
-
4
service.list_record_sets(resource_group, zone_name).each do |r|
-
4
record_sets << RecordSet.parse(r)
-
end
-
4
load(record_sets)
-
end
-
-
1
def get(resource_group, name, zone_name, record_type)
-
1
record_set = service.get_record_set(resource_group, name, zone_name, record_type)
-
1
record_set_fog = RecordSet.new(service: service)
-
1
record_set_fog.merge_attributes(RecordSet.parse(record_set))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for Zone.
-
1
class Zone < Fog::Model
-
1
attribute :id
-
1
identity :name
-
1
attribute :resource_group
-
1
attribute :location
-
1
attribute :type
-
1
attribute :tags
-
1
attribute :etag
-
1
attribute :number_of_record_sets
-
1
attribute :max_number_of_record_sets
-
-
1
def self.parse(zone)
-
5
hash = {}
-
5
hash['id'] = zone.id
-
5
hash['name'] = zone.name
-
5
hash['resource_group'] = get_resource_group_from_id(zone.id)
-
5
hash['location'] = zone.location
-
5
hash['type'] = zone.type
-
5
hash['tags'] = zone.tags
-
5
hash['etag'] = zone.etag
-
5
hash['number_of_record_sets'] = zone.number_of_record_sets
-
5
hash['max_number_of_record_sets'] = zone.max_number_of_record_sets
-
5
hash
-
end
-
-
1
def save
-
1
requires :name, :resource_group, :location
-
1
zone = service.create_or_update_zone(zone_params)
-
1
merge_attributes(Fog::DNS::AzureRM::Zone.parse(zone))
-
end
-
-
1
def destroy
-
2
service.delete_zone(resource_group, name)
-
end
-
-
1
private
-
-
1
def zone_params
-
{
-
name: name,
-
resource_group: resource_group,
-
location: location,
-
type: type,
-
tags: tags,
-
number_of_record_sets: number_of_record_sets,
-
max_number_of_record_sets: max_number_of_record_sets,
-
etag: etag
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# This class is giving implementation of
-
# all/get for Zones.
-
1
class Zones < Fog::Collection
-
1
model Zone
-
-
1
def all
-
3
zones = []
-
3
service.list_zones.each do |z|
-
3
zones << Zone.parse(z)
-
end
-
3
load(zones)
-
end
-
-
1
def get(resource_group, name)
-
1
zone = service.get_zone(resource_group, name)
-
1
zone_fog = Zone.new(service: service)
-
1
zone_fog.merge_attributes(Zone.parse(zone))
-
end
-
-
1
def check_for_zone(resource_group, name)
-
2
service.check_for_zone(resource_group, name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Express Route Circuit model class for Network Service
-
1
class ExpressRouteCircuit < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :tags
-
1
attribute :sku_name
-
1
attribute :sku_tier
-
1
attribute :sku_family
-
1
attribute :service_provider_name
-
1
attribute :provisioning_state
-
1
attribute :circuit_provisioning_state
-
1
attribute :service_provider_provisioning_state
-
1
attribute :service_key
-
1
attribute :service_provider_notes
-
1
attribute :peering_location
-
1
attribute :bandwidth_in_mbps
-
1
attribute :peerings
-
-
1
def self.parse(circuit)
-
5
express_route_circuit = {}
-
5
express_route_circuit['id'] = circuit.id
-
5
express_route_circuit['name'] = circuit.name
-
5
express_route_circuit['location'] = circuit.location
-
5
express_route_circuit['service_key'] = circuit.service_key
-
5
express_route_circuit['service_provider_notes'] = circuit.service_provider_notes
-
5
express_route_circuit['resource_group'] = get_resource_group_from_id(circuit.id)
-
5
express_route_circuit['tags'] = circuit.tags
-
5
sku = circuit.sku
-
5
unless sku.nil?
-
5
express_route_circuit['sku_name'] = sku.name
-
5
express_route_circuit['sku_tier'] = sku.tier
-
5
express_route_circuit['sku_family'] = sku.family
-
end
-
5
express_route_circuit['provisioning_state'] = circuit.provisioning_state
-
5
express_route_circuit['circuit_provisioning_state'] = circuit.circuit_provisioning_state
-
5
express_route_circuit['service_provider_provisioning_state'] = circuit.service_provider_provisioning_state
-
5
service_provider_properties = circuit.service_provider_properties
-
5
unless service_provider_properties.nil?
-
5
express_route_circuit['service_provider_name'] = service_provider_properties.service_provider_name
-
5
express_route_circuit['peering_location'] = service_provider_properties.peering_location
-
5
express_route_circuit['bandwidth_in_mbps'] = service_provider_properties.bandwidth_in_mbps
-
end
-
5
express_route_circuit['peerings'] = []
-
circuit.peerings.each do |peering|
-
5
circuit_peering = ExpressRouteCircuitPeering.new
-
5
express_route_circuit['peerings'] << circuit_peering.merge_attributes(ExpressRouteCircuitPeering.parse(peering))
-
5
end unless circuit.peerings.nil?
-
5
express_route_circuit
-
end
-
-
1
def save
-
1
requires :location, :tags, :resource_group, :service_provider_name, :peering_location, :bandwidth_in_mbps
-
1
circuit = service.create_or_update_express_route_circuit(express_route_circuit_params)
-
1
merge_attributes(ExpressRouteCircuit.parse(circuit))
-
end
-
-
1
def destroy
-
1
service.delete_express_route_circuit(resource_group, name)
-
end
-
-
1
private
-
-
1
def express_route_circuit_params
-
{
-
resource_group_name: resource_group,
-
circuit_name: name,
-
location: location,
-
tags: tags,
-
sku_name: sku_name,
-
sku_tier: sku_tier,
-
sku_family: sku_family,
-
service_provider_name: service_provider_name,
-
peering_location: peering_location,
-
bandwidth_in_mbps: bandwidth_in_mbps,
-
peerings: peerings
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Express Route Circuit Authorization model class for Network Service
-
1
class ExpressRouteCircuitAuthorization < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :authorization_name
-
1
attribute :authorization_key
-
1
attribute :authorization_use_status
-
1
attribute :provisioning_state
-
1
attribute :etag
-
1
attribute :circuit_name
-
-
1
def self.parse(circuit_authorization)
-
5
circuit_auth_hash = get_hash_from_object(circuit_authorization)
-
5
circuit_auth_hash['resource_group'] = get_resource_group_from_id(circuit_authorization.id)
-
5
circuit_auth_hash['circuit_name'] = get_circuit_name_from_id(circuit_authorization.id)
-
5
circuit_auth_hash
-
end
-
-
1
def save
-
1
requires :name, :resource_group, :circuit_name
-
1
circuit_authorization = service.create_or_update_express_route_circuit_authorization(express_route_circuit_authorization_params)
-
1
merge_attributes(ExpressRouteCircuitAuthorization.parse(circuit_authorization))
-
end
-
-
1
def destroy
-
1
service.delete_express_route_circuit_authorization(resource_group, circuit_name, name)
-
end
-
-
1
private
-
-
1
def express_route_circuit_authorization_params
-
{
-
name: name,
-
resource_group: resource_group,
-
circuit_name: circuit_name,
-
authorization_name: authorization_name,
-
authorization_key: authorization_key,
-
authorization_use_status: authorization_use_status,
-
provisioning_state: provisioning_state,
-
etag: etag
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# ExpressRouteCircuitAuthorization collection class for Network Service
-
1
class ExpressRouteCircuitAuthorizations < Fog::Collection
-
1
model ExpressRouteCircuitAuthorization
-
1
attribute :resource_group
-
1
attribute :circuit_name
-
-
1
def all
-
3
requires :resource_group, :circuit_name
-
6
circuit_authorizations = service.list_express_route_circuit_authorizations(resource_group, circuit_name).map { |circuit_authorization| ExpressRouteCircuitAuthorization.parse(circuit_authorization) }
-
3
load(circuit_authorizations)
-
end
-
-
1
def get(resource_group_name, circuit_name, authorization_name)
-
1
circuit_authorization = service.get_express_route_circuit_authorization(resource_group_name, circuit_name, authorization_name)
-
1
express_route_circuit_authorization = ExpressRouteCircuitAuthorization.new(service: service)
-
1
express_route_circuit_authorization.merge_attributes(ExpressRouteCircuitAuthorization.parse(circuit_authorization))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Express Route Circuit model class for Network Service
-
1
class ExpressRouteCircuitPeering < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :etag
-
1
attribute :circuit_name
-
1
attribute :provisioning_state
-
1
attribute :peering_type
-
1
attribute :shared_key
-
1
attribute :azure_asn
-
1
attribute :peer_asn
-
1
attribute :primary_peer_address_prefix
-
1
attribute :secondary_peer_address_prefix
-
1
attribute :primary_azure_port
-
1
attribute :secondary_azure_port
-
1
attribute :state
-
1
attribute :vlan_id
-
1
attribute :advertised_public_prefixes
-
1
attribute :advertised_public_prefix_state
-
1
attribute :customer_asn
-
1
attribute :routing_registry_name
-
-
1
def self.parse(circuit_peering)
-
10
express_route_circuit_peering = {}
-
10
express_route_circuit_peering['id'] = circuit_peering.id
-
10
express_route_circuit_peering['name'] = circuit_peering.name
-
10
express_route_circuit_peering['resource_group'] = get_resource_group_from_id(circuit_peering.id)
-
10
express_route_circuit_peering['circuit_name'] = get_circuit_name_from_id(circuit_peering.id)
-
10
express_route_circuit_peering['provisioning_state'] = circuit_peering.provisioning_state
-
10
express_route_circuit_peering['peering_type'] = circuit_peering.peering_type
-
10
express_route_circuit_peering['peer_asn'] = circuit_peering.peer_asn
-
10
express_route_circuit_peering['azure_asn'] = circuit_peering.azure_asn
-
10
express_route_circuit_peering['primary_azure_port'] = circuit_peering.primary_azure_port
-
10
express_route_circuit_peering['secondary_azure_port'] = circuit_peering.secondary_azure_port
-
10
express_route_circuit_peering['state'] = circuit_peering.state
-
10
express_route_circuit_peering['primary_peer_address_prefix'] = circuit_peering.primary_peer_address_prefix
-
10
express_route_circuit_peering['secondary_peer_address_prefix'] = circuit_peering.secondary_peer_address_prefix
-
10
express_route_circuit_peering['vlan_id'] = circuit_peering.vlan_id
-
-
10
microsoft_peering_config = circuit_peering.microsoft_peering_config
-
10
unless microsoft_peering_config.nil?
-
5
public_prefixes = microsoft_peering_config.advertised_public_prefixes
-
5
express_route_circuit_peering['advertised_public_prefixes'] = []
-
public_prefixes.each do |public_prefix|
-
express_route_circuit_peering['advertised_public_prefixes'] << public_prefix
-
5
end unless public_prefixes.nil?
-
-
5
express_route_circuit_peering['advertised_public_prefix_state'] = microsoft_peering_config.advertised_public_prefixes_state
-
5
express_route_circuit_peering['customer_asn'] = microsoft_peering_config.customer_asn
-
5
express_route_circuit_peering['routing_registry_name'] = microsoft_peering_config.routing_registry_name
-
end
-
10
express_route_circuit_peering
-
end
-
-
1
def save
-
1
requires :name, :resource_group, :circuit_name, :peering_type, :peer_asn, :primary_peer_address_prefix, :secondary_peer_address_prefix, :vlan_id
-
1
requires :advertised_public_prefixes if peering_type.casecmp(MICROSOFT_PEERING) == 0
-
1
circuit_peering = service.create_or_update_express_route_circuit_peering(express_route_circuit_peering_params)
-
1
merge_attributes(ExpressRouteCircuitPeering.parse(circuit_peering))
-
end
-
-
1
def destroy
-
1
service.delete_express_route_circuit_peering(resource_group, name, circuit_name)
-
end
-
-
1
private
-
-
1
def express_route_circuit_peering_params
-
{
-
resource_group_name: resource_group,
-
peering_name: name,
-
circuit_name: circuit_name,
-
peering_type: peering_type,
-
peer_asn: peer_asn,
-
primary_peer_address_prefix: primary_peer_address_prefix,
-
secondary_peer_address_prefix: secondary_peer_address_prefix,
-
vlan_id: vlan_id,
-
advertised_public_prefixes: advertised_public_prefixes,
-
advertised_public_prefix_state: advertised_public_prefix_state,
-
customer_asn: customer_asn,
-
routing_registry_name: routing_registry_name
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# ExpressRouteCircuitPeering collection class for Network Service
-
1
class ExpressRouteCircuitPeerings < Fog::Collection
-
1
model ExpressRouteCircuitPeering
-
1
attribute :resource_group
-
1
attribute :circuit_name
-
-
1
def all
-
3
requires :resource_group, :circuit_name
-
3
circuit_peerings = []
-
3
service.list_express_route_circuit_peerings(resource_group, circuit_name).each do |circuit_peering|
-
3
circuit_peerings << ExpressRouteCircuitPeering.parse(circuit_peering)
-
end
-
3
load(circuit_peerings)
-
end
-
-
1
def get(resource_group_name, peering_name, circuit_name)
-
1
circuit_peering = service.get_express_route_circuit_peering(resource_group_name, peering_name, circuit_name)
-
1
express_route_circuit_peering = ExpressRouteCircuitPeering.new(service: service)
-
1
express_route_circuit_peering.merge_attributes(ExpressRouteCircuitPeering.parse(circuit_peering))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# ExpressRouteCircuit collection class for Network Service
-
1
class ExpressRouteCircuits < Fog::Collection
-
1
model ExpressRouteCircuit
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
3
express_route_circuits = []
-
3
service.list_express_route_circuits(resource_group).each do |circuit|
-
3
express_route_circuits << ExpressRouteCircuit.parse(circuit)
-
end
-
3
load(express_route_circuits)
-
end
-
-
1
def get(resource_group_name, name)
-
1
circuit = service.get_express_route_circuit(resource_group_name, name)
-
1
express_route_circuit = ExpressRouteCircuit.new(service: service)
-
1
express_route_circuit.merge_attributes(ExpressRouteCircuit.parse(circuit))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Express Route Service Provider model class for Network Service
-
1
class ExpressRouteServiceProvider < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :peering_locations
-
1
attribute :bandwidths_offered
-
-
1
def self.parse(service_provider)
-
3
express_route_service_provider = {}
-
3
express_route_service_provider['id'] = service_provider.id
-
3
express_route_service_provider['name'] = service_provider.name
-
-
3
express_route_service_provider['peering_locations'] = []
-
service_provider.peering_locations.each do |peering_location|
-
express_route_service_provider['peering_locations'] << peering_location
-
3
end unless service_provider.peering_locations.nil?
-
3
express_route_service_provider['bandwidths_offered'] = []
-
service_provider.bandwidths_offered.each do |bandwidth_offered|
-
express_route_service_provider['bandwidths_offered'] << bandwidth_offered
-
3
end unless service_provider.bandwidths_offered.nil?
-
3
express_route_service_provider
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# ExpressRouteServiceProvider collection class for Network Service
-
1
class ExpressRouteServiceProviders < Fog::Collection
-
1
model ExpressRouteServiceProvider
-
-
1
def all
-
3
express_route_service_providers = []
-
3
service.list_express_route_service_providers.each do |service_provider|
-
3
express_route_service_providers << ExpressRouteServiceProvider.parse(service_provider)
-
end
-
3
load(express_route_service_providers)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# FrontendIPConfiguration model for Network Service
-
1
class FrontendIPConfiguration < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :load_balancing_rules
-
1
attribute :private_ipaddress
-
1
attribute :private_ipallocation_method
-
1
attribute :subnet_id
-
1
attribute :public_ipaddress_id
-
-
1
def self.parse(frontend_ip_configuration)
-
5
hash = {}
-
5
hash['name'] = frontend_ip_configuration.name
-
5
hash['subnet_id'] = frontend_ip_configuration.subnet.id unless frontend_ip_configuration.subnet.nil?
-
5
hash['private_ipaddress'] = frontend_ip_configuration.private_ipaddress if frontend_ip_configuration.respond_to?(:private_ipaddress)
-
5
hash['private_ipallocation_method'] = frontend_ip_configuration.private_ipallocation_method unless frontend_ip_configuration.private_ipallocation_method.nil?
-
5
hash['public_ip_address_id'] = frontend_ip_configuration.public_ipaddress unless frontend_ip_configuration.public_ipaddress.nil?
-
5
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# InboundNatPool model for Network Service
-
1
class InboundNatPool < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :protocol
-
1
attribute :frontend_port_range_start
-
1
attribute :frontend_port_range_end
-
1
attribute :backend_port
-
-
1
def self.parse(inbound_nat_pool)
-
5
hash = {}
-
5
hash['id'] = inbound_nat_pool.id
-
5
hash['name'] = inbound_nat_pool.name
-
5
hash['protocol'] = inbound_nat_pool.protocol
-
5
hash['frontend_port_range_start'] = inbound_nat_pool.frontend_port_range_start
-
5
hash['frontend_port_range_end'] = inbound_nat_pool.frontend_port_range_end
-
5
hash['backend_port'] = inbound_nat_pool.backend_port
-
5
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# InboundNatRule model for Network Service
-
1
class InboundNatRule < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :frontend_ip_configuration_id
-
1
attribute :protocol
-
1
attribute :frontend_port
-
1
attribute :backend_port
-
-
1
def self.parse(inbound_nat_rule)
-
5
hash = {}
-
5
hash['id'] = inbound_nat_rule.id
-
5
hash['name'] = inbound_nat_rule.name
-
5
hash['frontend_ip_configuration_id'] = inbound_nat_rule.frontend_ipconfiguration.id unless inbound_nat_rule.frontend_ipconfiguration.nil?
-
5
hash['protocol'] = inbound_nat_rule.protocol
-
5
hash['frontend_port'] = inbound_nat_rule.frontend_port
-
5
hash['backend_port'] = inbound_nat_rule.backend_port
-
5
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# LoadBalancer model class for Network Service
-
1
class LoadBalancer < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :frontend_ip_configurations
-
1
attribute :backend_address_pool_names
-
1
attribute :load_balancing_rules
-
1
attribute :probes
-
1
attribute :inbound_nat_rules
-
1
attribute :inbound_nat_pools
-
-
# @param [Object] load_balancer
-
1
def self.parse(load_balancer)
-
5
hash = {}
-
5
hash['id'] = load_balancer.id
-
5
hash['name'] = load_balancer.name
-
5
hash['location'] = load_balancer.location
-
5
hash['resource_group'] = get_resource_group_from_id(load_balancer.id)
-
5
hash['backend_address_pool_names'] = load_balancer.backend_address_pools.map(&:id) unless load_balancer.backend_address_pools.nil?
-
-
5
hash['frontend_ip_configurations'] = []
-
load_balancer.frontend_ipconfigurations.each do |fic|
-
5
frontend_ip_configuration = Fog::Network::AzureRM::FrontendIPConfiguration.new
-
5
hash['frontend_ip_configurations'] << frontend_ip_configuration.merge_attributes(Fog::Network::AzureRM::FrontendIPConfiguration.parse(fic))
-
5
end unless load_balancer.frontend_ipconfigurations.nil?
-
-
5
hash['load_balancing_rules'] = []
-
load_balancer.load_balancing_rules.each do |lbr|
-
5
load_balancing_rule = Fog::Network::AzureRM::LoadBalangcingRule.new
-
5
hash['load_balancing_rules'] << load_balancing_rule.merge_attributes(Fog::Network::AzureRM::LoadBalangcingRule.parse(lbr))
-
5
end unless load_balancer.load_balancing_rules.nil?
-
-
5
hash['probes'] = []
-
load_balancer.probes.each do |prb|
-
5
prob = Fog::Network::AzureRM::Probe.new
-
5
hash['probes'] << prob.merge_attributes(Fog::Network::AzureRM::Probe.parse(prb))
-
5
end unless load_balancer.probes.nil?
-
-
5
hash['inbound_nat_rules'] = []
-
load_balancer.inbound_nat_rules.each do |inr|
-
5
inbound_nat_rule = Fog::Network::AzureRM::InboundNatRule.new
-
5
hash['inbound_nat_rules'] << inbound_nat_rule.merge_attributes(Fog::Network::AzureRM::InboundNatRule.parse(inr))
-
5
end unless load_balancer.inbound_nat_rules.nil?
-
-
5
hash['inbound_nat_pools'] = []
-
load_balancer.inbound_nat_pools.each do |inp|
-
5
inbound_nat_pool = Fog::Network::AzureRM::InboundNatPool.new
-
5
hash['inbound_nat_pools'] << inbound_nat_pool.merge_attributes(Fog::Network::AzureRM::InboundNatPool.parse(inp))
-
5
end unless load_balancer.inbound_nat_pools.nil?
-
-
5
hash
-
end
-
-
1
def save
-
1
requires :name, :location, :resource_group
-
-
1
validate_frontend_ip_configurations(frontend_ip_configurations) unless frontend_ip_configurations.nil?
-
1
validate_load_balancing_rules(load_balancing_rules) unless load_balancing_rules.nil?
-
1
validate_probes(probes) unless probes.nil?
-
1
validate_inbound_nat_rules(inbound_nat_rules) unless inbound_nat_rules.nil?
-
1
validate_inbound_nat_pools(inbound_nat_pools) unless inbound_nat_pools.nil?
-
-
1
load_balancer = service.create_load_balancer(name, location, resource_group, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools)
-
-
1
merge_attributes(Fog::Network::AzureRM::LoadBalancer.parse(load_balancer))
-
end
-
-
1
def validate_load_balancing_rules(load_balancing_rules)
-
1
if load_balancing_rules.is_a?(Array)
-
1
if load_balancing_rules.any?
-
1
load_balancing_rules.each do |lbr|
-
1
if lbr.is_a?(Hash)
-
1
validate_load_balancing_rule_params(lbr)
-
else
-
raise(ArgumentError, ':load_balancing_rules must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':load_balancing_rules must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':load_balancing_rules must be an Array')
-
end
-
end
-
-
1
def validate_load_balancing_rule_params(load_balancing_rule)
-
1
required_params = [
-
:name,
-
:protocol,
-
:frontend_port,
-
:backend_port
-
]
-
5
missing = required_params.select { |p| p unless load_balancing_rule.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_probes(probes)
-
1
if probes.is_a?(Array)
-
1
if probes.any?
-
1
probes.each do |prb|
-
1
if prb.is_a?(Hash)
-
1
validate_probe_params(prb)
-
else
-
raise(ArgumentError, ':probes must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':probes must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':probes must be an Array')
-
end
-
end
-
-
1
def validate_probe_params(probe)
-
1
required_params = [
-
:name,
-
:port,
-
:request_path,
-
:interval_in_seconds,
-
:number_of_probes
-
]
-
6
missing = required_params.select { |p| p unless probe.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_inbound_nat_rules(inbound_nat_rules)
-
1
if inbound_nat_rules.is_a?(Array)
-
1
if inbound_nat_rules.any?
-
1
inbound_nat_rules.each do |inr|
-
1
if inr.is_a?(Hash)
-
1
validate_inbound_nat_rule_params(inr)
-
else
-
raise(ArgumentError, ':inbound_nat_rules must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':inbound_nat_rules must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':inbound_nat_rules must be an Array')
-
end
-
end
-
-
1
def validate_inbound_nat_rule_params(inbound_nat_rule)
-
1
required_params = [
-
:name,
-
:protocol,
-
:frontend_port,
-
:backend_port
-
]
-
5
missing = required_params.select { |p| p unless inbound_nat_rule.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_inbound_nat_pools(inbound_nat_pools)
-
1
if inbound_nat_pools.is_a?(Array)
-
1
if inbound_nat_pools.any?
-
1
inbound_nat_pools.each do |inp|
-
1
if inp.is_a?(Hash)
-
1
validate_inbound_nat_pool_params(inp)
-
else
-
raise(ArgumentError, ':inbound_nat_pools must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':inbound_nat_pools must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':inbound_nat_pools must be an Array')
-
end
-
end
-
-
1
def validate_inbound_nat_pool_params(inbound_nat_pool)
-
1
required_params = [
-
:name,
-
:protocol,
-
:frontend_port_range_start,
-
:frontend_port_range_end,
-
:backend_port
-
]
-
6
missing = required_params.select { |p| p unless inbound_nat_pool.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
1
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
-
1
def validate_frontend_ip_configurations(frontend_ip_configurations)
-
1
if frontend_ip_configurations.is_a?(Array)
-
1
if frontend_ip_configurations.any?
-
1
frontend_ip_configurations.each do |frontend_ip_configuration|
-
1
if frontend_ip_configuration.is_a?(Hash)
-
1
validate_frontend_ip_configuration_params(frontend_ip_configuration)
-
else
-
raise(ArgumentError, ':frontend_ip_configurations must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, ':frontend_ip_configurations must not be an empty Array')
-
end
-
else
-
raise(ArgumentError, ':frontend_ip_configurations must be an Array')
-
end
-
end
-
-
1
def validate_frontend_ip_configuration_params(frontend_ip_configuration)
-
1
required_params = [
-
:name,
-
:private_ipallocation_method
-
]
-
3
missing = required_params.select { |p| p unless frontend_ip_configuration.key?(p) }
-
1
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
1
unless frontend_ip_configuration.key?(:subnet_id) || frontend_ip_configuration.key?(:public_ipaddress_id)
-
raise(ArgumentError, 'subnet_id and public_id can not be empty at the same time.')
-
end
-
end
-
-
1
def destroy
-
1
service.delete_load_balancer(resource_group, name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# LoadBalancers collection class for Network Service
-
1
class LoadBalancers < Fog::Collection
-
1
model LoadBalancer
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
3
load_balancers = []
-
3
service.list_load_balancers(resource_group).each do |load_balancer|
-
3
load_balancers << LoadBalancer.parse(load_balancer)
-
end
-
3
load(load_balancers)
-
end
-
-
1
def get(resource_group_name, load_balancer_name)
-
1
load_balancer = service.get_load_balancer(resource_group_name, load_balancer_name)
-
1
load_balancer_fog = LoadBalancer.new(service: service)
-
1
load_balancer_fog.merge_attributes(LoadBalancer.parse(load_balancer))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# LoadBalangcingRule model for Network Service
-
1
class LoadBalangcingRule < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :frontend_ip_configuration_id
-
1
attribute :backend_address_pool_id
-
1
attribute :protocol
-
1
attribute :frontend_port
-
1
attribute :backend_port
-
1
attribute :probe_id
-
1
attribute :enable_floating_ip
-
1
attribute :idle_timeout_in_minutes
-
1
attribute :load_distribution
-
-
1
def self.parse(load_balancing_rule)
-
5
hash = {}
-
5
hash['id'] = load_balancing_rule.id
-
5
hash['name'] = load_balancing_rule.name
-
5
hash['frontend_ip_configuration_id'] = load_balancing_rule.frontend_ipconfiguration.id unless load_balancing_rule.frontend_ipconfiguration.nil?
-
5
hash['backend_address_pool_id'] = load_balancing_rule.backend_address_pool.id unless load_balancing_rule.backend_address_pool.nil?
-
-
5
hash['protocol'] = load_balancing_rule.protocol
-
5
hash['frontend_port'] = load_balancing_rule.frontend_port
-
5
hash['backend_port'] = load_balancing_rule.backend_port
-
5
hash['probe_id'] = load_balancing_rule.probe.id unless load_balancing_rule.probe.nil?
-
5
hash['enable_floating_ip'] = load_balancing_rule.enable_floating_ip
-
5
hash['idle_timeout_in_minutes'] = load_balancing_rule.idle_timeout_in_minutes
-
5
hash['load_distribution'] = load_balancing_rule.load_distribution
-
5
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# LocalNetworkGateway model class for Network Service
-
1
class LocalNetworkGateway < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :type
-
1
attribute :resource_group
-
1
attribute :tags
-
1
attribute :local_network_address_space_prefixes
-
1
attribute :gateway_ip_address
-
1
attribute :asn
-
1
attribute :bgp_peering_address
-
1
attribute :peer_weight
-
1
attribute :provisioning_state
-
-
1
def self.parse(local_network_gateway)
-
5
local_network_gateway_hash = get_hash_from_object(local_network_gateway)
-
5
bgp_settings = local_network_gateway.bgp_settings
-
5
unless bgp_settings.nil?
-
local_network_gateway_hash['asn'] = bgp_settings.asn
-
local_network_gateway_hash['bgp_peering_address'] = bgp_settings.bgp_peering_address
-
local_network_gateway_hash['peer_weight'] = bgp_settings.peer_weight
-
end
-
5
local_network_address_space = local_network_gateway.local_network_address_space
-
5
local_network_gateway_hash['local_network_address_space_prefixes'] = local_network_address_space.address_prefixes unless local_network_address_space.nil?
-
5
local_network_gateway_hash['resource_group'] = get_resource_group_from_id(local_network_gateway.id)
-
5
local_network_gateway_hash
-
end
-
-
1
def save
-
1
requires :name, :location, :resource_group, :local_network_address_space_prefixes, :gateway_ip_address, :asn, :bgp_peering_address, :peer_weight
-
1
local_network_gateway = service.create_or_update_local_network_gateway(local_network_gateway_parameters)
-
1
merge_attributes(LocalNetworkGateway.parse(local_network_gateway))
-
end
-
-
1
def destroy
-
1
service.delete_local_network_gateway(resource_group, name)
-
end
-
-
1
private
-
-
1
def local_network_gateway_parameters
-
{
-
name: name,
-
location: location,
-
resource_group: resource_group,
-
local_network_address_space_prefixes: local_network_address_space_prefixes,
-
gateway_ip_address: gateway_ip_address,
-
asn: asn,
-
bgp_peering_address: bgp_peering_address,
-
peer_weight: peer_weight
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# LocalNetworkGateways collection class for Network Service
-
1
class LocalNetworkGateways < Fog::Collection
-
1
model LocalNetworkGateway
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
6
local_network_gateways = service.list_local_network_gateways(resource_group).map { |gateway| LocalNetworkGateway.parse(gateway) }
-
3
load(local_network_gateways)
-
end
-
-
1
def get(resource_group_name, name)
-
1
local_network_gateway = service.get_local_network_gateway(resource_group_name, name)
-
1
local_network_gateway_fog = LocalNetworkGateway.new(service: service)
-
1
local_network_gateway_fog.merge_attributes(LocalNetworkGateway.parse(local_network_gateway))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# NetworkInterface model class for Network Service
-
1
class NetworkInterface < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :virtual_machine_id
-
1
attribute :mac_address
-
1
attribute :network_security_group_id
-
1
attribute :ip_configuration_name
-
1
attribute :ip_configuration_id
-
1
attribute :subnet_id
-
1
attribute :private_ip_allocation_method
-
1
attribute :private_ip_address
-
1
attribute :public_ip_address_id
-
1
attribute :load_balancer_backend_address_pools_ids
-
1
attribute :load_balancer_inbound_nat_rules_ids
-
1
attribute :dns_servers
-
1
attribute :applied_dns_servers
-
1
attribute :internal_dns_name_label
-
1
attribute :internal_fqd
-
-
1
def self.parse(nic)
-
10
hash = {}
-
10
hash['id'] = nic.id
-
10
hash['name'] = nic.name
-
10
hash['location'] = nic.location
-
10
hash['resource_group'] = get_resource_from_resource_id(nic.id, RESOURCE_GROUP_NAME)
-
10
hash['virtual_machine_id'] = nic.virtual_machine.id unless nic.virtual_machine.nil?
-
10
hash['mac_address'] = nic.mac_address unless nic.mac_address.nil?
-
10
hash['network_security_group_id'] = nil
-
10
hash['network_security_group_id'] = nic.network_security_group.id unless nic.network_security_group.nil?
-
10
ip_configuration = nic.ip_configurations[0] unless nic.ip_configurations.nil?
-
10
unless ip_configuration.nil?
-
10
hash['ip_configuration_name'] = ip_configuration.name
-
10
hash['ip_configuration_id'] = ip_configuration.id
-
10
hash['subnet_id'] = ip_configuration.subnet.id unless ip_configuration.subnet.nil?
-
10
hash['private_ip_allocation_method'] = ip_configuration.private_ipallocation_method
-
10
hash['private_ip_address'] = ip_configuration.private_ipaddress
-
10
hash['public_ip_address_id'] = nil
-
10
hash['public_ip_address_id'] = ip_configuration.public_ipaddress.id unless ip_configuration.public_ipaddress.nil?
-
10
hash['load_balancer_backend_address_pools_ids'] = ip_configuration.load_balancer_backend_address_pools.map(&:id) unless ip_configuration.load_balancer_backend_address_pools.nil?
-
10
hash['load_balancer_inbound_nat_rules_ids'] = ip_configuration.load_balancer_inbound_nat_rules.map(&:id) unless ip_configuration.load_balancer_inbound_nat_rules.nil?
-
end
-
10
nic_dns_settings = nic.dns_settings
-
10
unless nic_dns_settings.nil?
-
10
hash['dns_servers'] = nic_dns_settings.dns_servers
-
10
hash['applied_dns_servers'] = nic_dns_settings.applied_dns_servers
-
10
hash['internal_dns_name_label'] = nic_dns_settings.internal_dns_name_label
-
10
hash['internal_fqd'] = nic_dns_settings.internal_fqdn
-
end
-
10
hash
-
end
-
-
1
def save
-
1
requires :name
-
1
requires :location
-
1
requires :resource_group
-
1
requires :subnet_id
-
1
requires :ip_configuration_name
-
1
requires :private_ip_allocation_method
-
1
nic = service.create_or_update_network_interface(resource_group, name, location, subnet_id, public_ip_address_id, ip_configuration_name, private_ip_allocation_method, private_ip_address)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkInterface.parse(nic))
-
end
-
-
1
def update(updated_attributes = {})
-
validate_update_attributes!(updated_attributes)
-
merge_attributes(updated_attributes)
-
nic = service.create_or_update_network_interface(resource_group, name, location, subnet_id, public_ip_address_id, ip_configuration_name, private_ip_allocation_method, private_ip_address)
-
merge_attributes(Fog::Network::AzureRM::NetworkInterface.parse(nic))
-
end
-
-
1
def attach_subnet(subnet_id)
-
1
raise 'Subnet ID can not be nil.' if subnet_id.nil?
-
1
nic = service.attach_resource_to_nic(resource_group, name, SUBNET, subnet_id)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkInterface.parse(nic))
-
end
-
-
1
def attach_public_ip(public_ip_id)
-
1
raise 'Public-IP ID can not be nil.' if public_ip_id.nil?
-
1
nic = service.attach_resource_to_nic(resource_group, name, PUBLIC_IP, public_ip_id)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkInterface.parse(nic))
-
end
-
-
1
def attach_network_security_group(network_security_group_id)
-
1
raise 'Network-Security-Group ID can not be nil.' if network_security_group_id.nil?
-
1
nic = service.attach_resource_to_nic(resource_group, name, NETWORK_SECURITY_GROUP, network_security_group_id)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkInterface.parse(nic))
-
end
-
-
1
def detach_public_ip
-
1
raise "Error detaching Public IP. No Public IP is attached to Network Interface #{name}" if public_ip_address_id.nil?
-
1
nic = service.detach_resource_from_nic(resource_group, name, PUBLIC_IP)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkInterface.parse(nic))
-
end
-
-
1
def detach_network_security_group
-
1
raise "Error detaching Network Security Group. No Security Group is attached to Network Interface #{name}" if network_security_group_id.nil?
-
1
nic = service.detach_resource_from_nic(resource_group, name, NETWORK_SECURITY_GROUP)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkInterface.parse(nic))
-
end
-
-
1
def destroy
-
1
service.delete_network_interface(resource_group, name)
-
end
-
-
1
def validate_update_attributes!(hash)
-
restricted_attributes = [:name, :id, :resource_group, :location, :ip_configuration_name, :ip_configuration_id]
-
hash_keys = hash.keys
-
invalid_attributes = restricted_attributes & hash_keys
-
raise "Attributes #{invalid_attributes.join(', ')} can not be updated." unless invalid_attributes.empty?
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# NetworkInterfaces collection class for Network Service
-
1
class NetworkInterfaces < Fog::Collection
-
1
model NetworkInterface
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
3
network_interfaces = []
-
3
service.list_network_interfaces(resource_group).each do |nic|
-
3
network_interfaces << NetworkInterface.parse(nic)
-
end
-
3
load(network_interfaces)
-
end
-
-
1
def get(resource_group_name, name)
-
1
network_interface_card = service.get_network_interface(resource_group_name, name)
-
1
network_interface_card_fog = NetworkInterface.new(service: service)
-
1
network_interface_card_fog.merge_attributes(NetworkInterface.parse(network_interface_card))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Network Security Group model for Network Service
-
1
class NetworkSecurityGroup < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :location
-
1
attribute :network_interfaces_ids
-
1
attribute :subnets_ids
-
1
attribute :security_rules
-
1
attribute :default_security_rules
-
-
1
def self.parse(nsg)
-
8
hash = {}
-
8
hash['id'] = nsg.id
-
8
hash['name'] = nsg.name
-
8
hash['resource_group'] = get_resource_from_resource_id(nsg.id, RESOURCE_GROUP_NAME)
-
8
hash['location'] = nsg.location
-
8
hash['network_interfaces_ids'] = nsg.network_interfaces.map(&:id) unless nsg.network_interfaces.nil?
-
8
hash['subnets_ids'] = nsg.subnets.map(&:id) unless nsg.subnets.nil?
-
8
hash['security_rules'] = []
-
8
hash['default_security_rules'] = []
-
-
nsg.security_rules.each do |sr|
-
8
security_rule = Fog::Network::AzureRM::NetworkSecurityRule.new
-
8
hash['security_rules'] << security_rule.merge_attributes(Fog::Network::AzureRM::NetworkSecurityRule.parse(sr))
-
8
end unless nsg.security_rules.nil?
-
-
8
nsg.default_security_rules.each do |dsr|
-
8
security_rule = Fog::Network::AzureRM::NetworkSecurityRule.new
-
8
hash['default_security_rules'] << security_rule.merge_attributes(Fog::Network::AzureRM::NetworkSecurityRule.parse(dsr))
-
end
-
-
8
hash
-
end
-
-
1
def save
-
1
requires :name, :location, :resource_group
-
-
1
validate_security_rules(security_rules) unless security_rules.nil?
-
1
nsg = service.create_or_update_network_security_group(resource_group, name, location, security_rules)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkSecurityGroup.parse(nsg))
-
end
-
-
1
def destroy
-
1
service.delete_network_security_group(resource_group, name)
-
end
-
-
1
def update_security_rules(security_rule_hash = {})
-
1
raise('Provided hash can not be empty.') if security_rule_hash.empty? || security_rule_hash.nil?
-
-
1
if !security_rule_hash[:security_rules].nil? && security_rule_hash.length == 1
-
1
validate_security_rules(security_rule_hash[:security_rules])
-
1
merge_attributes(security_rule_hash)
-
1
nsg = service.create_or_update_network_security_group(resource_group, name, location, security_rules)
-
1
return merge_attributes(Fog::Network::AzureRM::NetworkSecurityGroup.parse(nsg))
-
end
-
raise 'Invalid hash key.'
-
end
-
-
1
def add_security_rules(security_rules)
-
1
validate_security_rules(security_rules)
-
1
nsg = service.add_security_rules(resource_group, name, security_rules)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkSecurityGroup.parse(nsg))
-
end
-
-
1
def remove_security_rule(security_rule_name)
-
1
nsg = service.remove_security_rule(resource_group, name, security_rule_name)
-
1
merge_attributes(Fog::Network::AzureRM::NetworkSecurityGroup.parse(nsg))
-
end
-
-
1
private
-
-
1
def validate_security_rules(security_rules)
-
3
if security_rules.is_a?(Array)
-
3
security_rules.each do |sr|
-
3
if sr.is_a?(Hash)
-
3
validate_security_rule_params(sr)
-
else
-
raise(ArgumentError, 'Parameter security_rules must be an Array of Hashes')
-
end
-
end
-
else
-
raise(ArgumentError, 'Parameter security_rules must be an Array')
-
end
-
end
-
-
1
def validate_security_rule_params(nsr)
-
3
required_params = [
-
:name,
-
:protocol,
-
:source_port_range,
-
:destination_port_range,
-
:source_address_prefix,
-
:destination_address_prefix,
-
:access,
-
:priority,
-
:direction
-
]
-
30
missing = required_params.select { |p| p unless nsr.key?(p) }
-
3
if missing.length == 1
-
raise(ArgumentError, "#{missing.first} is required for this operation")
-
3
elsif missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# collection class for Network Security Group
-
1
class NetworkSecurityGroups < Fog::Collection
-
1
model NetworkSecurityGroup
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
3
network_security_groups = []
-
3
service.list_network_security_groups(resource_group).each do |nsg|
-
3
network_security_groups << NetworkSecurityGroup.parse(nsg)
-
end
-
3
load(network_security_groups)
-
end
-
-
1
def get(resource_group, name)
-
1
network_security_group = service.get_network_security_group(resource_group, name)
-
1
network_security_group_fog = NetworkSecurityGroup.new(service: service)
-
1
network_security_group_fog.merge_attributes(NetworkSecurityGroup.parse(network_security_group))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Security Rule model for Network Service
-
1
class NetworkSecurityRule < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :network_security_group_name
-
1
attribute :description
-
1
attribute :protocol
-
1
attribute :source_port_range
-
1
attribute :destination_port_range
-
1
attribute :source_address_prefix
-
1
attribute :destination_address_prefix
-
1
attribute :access
-
1
attribute :priority
-
1
attribute :direction
-
-
1
def self.parse(nsr)
-
21
hash = {}
-
21
hash['id'] = nsr.id
-
21
hash['name'] = nsr.name
-
21
hash['resource_group'] = get_resource_group_from_id(nsr.id)
-
21
hash['network_security_group_name'] = get_resource_from_resource_id(nsr.id, RESOURCE_NAME)
-
21
hash['description'] = nsr.description
-
21
hash['protocol'] = nsr.protocol
-
21
hash['source_port_range'] = nsr.source_port_range
-
21
hash['destination_port_range'] = nsr.destination_port_range
-
21
hash['source_address_prefix'] = nsr.source_address_prefix
-
21
hash['destination_address_prefix'] = nsr.destination_address_prefix
-
21
hash['access'] = nsr.access
-
21
hash['priority'] = nsr.priority
-
21
hash['direction'] = nsr.direction
-
21
hash
-
end
-
-
1
def save
-
1
requires :name, :network_security_group_name, :resource_group, :protocol, :source_port_range, :destination_port_range, :source_address_prefix, :destination_address_prefix, :access, :priority, :direction
-
1
network_security_rule = service.create_or_update_network_security_rule(security_rule_params)
-
1
merge_attributes(NetworkSecurityRule.parse(network_security_rule))
-
end
-
-
1
def security_rule_params
-
{
-
name: name,
-
resource_group: resource_group,
-
protocol: protocol,
-
network_security_group_name: network_security_group_name,
-
source_port_range: source_port_range,
-
destination_port_range: destination_port_range,
-
source_address_prefix: source_address_prefix,
-
destination_address_prefix: destination_address_prefix,
-
access: access,
-
priority: priority,
-
direction: direction
-
1
}
-
end
-
-
1
def destroy
-
1
service.delete_network_security_rule(resource_group, network_security_group_name, name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# collection class for Network Security Rule
-
1
class NetworkSecurityRules < Fog::Collection
-
1
model NetworkSecurityRule
-
1
attribute :resource_group
-
1
attribute :network_security_group_name
-
-
1
def all
-
3
requires :resource_group, :network_security_group_name
-
3
network_security_rules = []
-
3
service.list_network_security_rules(resource_group, network_security_group_name).each do |nsr|
-
3
network_security_rules << NetworkSecurityRule.parse(nsr)
-
end
-
3
load(network_security_rules)
-
end
-
-
1
def get(resource_group, network_security_group_name, name)
-
1
network_security_rule = service.get_network_security_rule(resource_group, network_security_group_name, name)
-
1
network_security_rule_fog = NetworkSecurityRule.new(service: service)
-
1
network_security_rule_fog.merge_attributes(NetworkSecurityRule.parse(network_security_rule))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Path Rule model class for Network Service
-
1
class PathRule < Fog::Model
-
1
attribute :paths
-
1
attribute :backend_address_pool_id
-
1
attribute :backend_http_settings_id
-
-
1
def self.parse(path_rule)
-
paths = path_rule['paths']
-
-
hash = {}
-
hash['paths'] = []
-
paths.each do |path|
-
hash['paths'] << path
-
end unless paths.nil?
-
-
unless path_rule['backendAddressPool'].nil?
-
hash['backend_address_pool_id'] = path_rule['backendAddressPool']['id']
-
end
-
unless path_rule['backendHttpsettings'].nil?
-
hash['backend_http_settings_id'] = path_rule['backendHttpsettings']['id']
-
end
-
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Probe model for Network Service
-
1
class Probe < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :protocol
-
1
attribute :port
-
1
attribute :request_path
-
1
attribute :interval_in_seconds
-
1
attribute :number_of_probes
-
-
1
def self.parse(probe)
-
5
hash = {}
-
5
hash['id'] = probe.id
-
5
hash['name'] = probe.name
-
5
hash['protocol'] = probe.protocol
-
5
hash['port'] = probe.port
-
5
hash['request_path'] = probe.request_path
-
5
hash['interval_in_seconds'] = probe.interval_in_seconds
-
5
hash['number_of_probes'] = probe.number_of_probes
-
5
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# PublicIP model class for Network Service
-
1
class PublicIp < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :ip_address
-
1
attribute :public_ip_allocation_method
-
1
attribute :idle_timeout_in_minutes
-
1
attribute :ip_configuration_id
-
1
attribute :domain_name_label
-
1
attribute :fqdn
-
1
attribute :reverse_fqdn
-
-
1
def self.parse(public_ip)
-
6
hash = {}
-
6
hash['id'] = public_ip.id
-
6
hash['name'] = public_ip.name
-
6
hash['location'] = public_ip.location
-
6
hash['resource_group'] = get_resource_group_from_id(public_ip.id)
-
6
hash['public_ip_allocation_method'] = public_ip.public_ipallocation_method
-
6
hash['ip_address'] = public_ip.ip_address
-
6
hash['idle_timeout_in_minutes'] = public_ip.idle_timeout_in_minutes
-
6
hash['ip_configuration_id'] = public_ip.ip_configuration.id unless public_ip.ip_configuration.nil?
-
-
6
unless public_ip.dns_settings.nil?
-
6
hash['domain_name_label'] = public_ip.dns_settings.domain_name_label
-
6
hash['fqdn'] = public_ip.dns_settings.fqdn
-
6
hash['reverse_fqdn'] = public_ip.dns_settings.reverse_fqdn
-
end
-
-
6
hash
-
end
-
-
1
def save
-
1
requires :name
-
1
requires :public_ip_allocation_method
-
1
requires :location
-
1
requires :resource_group
-
1
public_ip = service.create_or_update_public_ip(resource_group, name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label)
-
1
merge_attributes(Fog::Network::AzureRM::PublicIp.parse(public_ip))
-
end
-
-
1
def destroy
-
1
service.delete_public_ip(resource_group, name)
-
end
-
-
1
def update(input_hash)
-
1
validate_input(input_hash)
-
1
merge_attributes(input_hash)
-
1
pip = service.create_or_update_public_ip(resource_group, name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label)
-
1
merge_attributes(Fog::Network::AzureRM::PublicIp.parse(pip))
-
end
-
-
1
private
-
-
1
def validate_input(input_hash)
-
1
invalid_attr = [:resource_group, :name, :location, :id]
-
1
result = invalid_attr & input_hash.keys
-
1
raise 'Cannot modify the given attribute' unless result.empty?
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# PublicIPs collection class for Network Service
-
1
class PublicIps < Fog::Collection
-
1
model PublicIp
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
3
public_ips = []
-
3
service.list_public_ips(resource_group).each do |pip|
-
3
public_ips << PublicIp.parse(pip)
-
end
-
3
load(public_ips)
-
end
-
-
1
def get(resource_group_name, public_ip_name)
-
1
public_ip = service.get_public_ip(resource_group_name, public_ip_name)
-
1
public_ip_fog = PublicIp.new(service: service)
-
1
public_ip_fog.merge_attributes(PublicIp.parse(public_ip))
-
end
-
-
1
def check_if_exists(resource_group, name)
-
2
Fog::Logger.debug "Checkng if PublicIP #{name} exists."
-
2
if service.check_for_public_ip(resource_group, name)
-
1
Fog::Logger.debug "PublicIP #{name} exists."
-
1
true
-
else
-
1
Fog::Logger.debug "PublicIP #{name} doesn't exists."
-
1
false
-
end
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Subnet model for Network Service
-
1
class Subnet < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :virtual_network_name
-
1
attribute :address_prefix
-
1
attribute :network_security_group_id
-
1
attribute :route_table_id
-
1
attribute :ip_configurations_ids
-
-
1
def self.parse(subnet)
-
21
subnet_hash = {}
-
21
subnet_hash['id'] = subnet.id
-
21
subnet_hash['name'] = subnet.name
-
21
subnet_hash['resource_group'] = get_resource_group_from_id(subnet.id)
-
21
subnet_hash['virtual_network_name'] = get_virtual_network_from_id(subnet.id)
-
21
subnet_hash['address_prefix'] = subnet.address_prefix
-
21
subnet_hash['network_security_group_id'] = nil
-
21
subnet_hash['network_security_group_id'] = subnet.network_security_group.id unless subnet.network_security_group.nil?
-
21
subnet_hash['route_table_id'] = nil
-
21
subnet_hash['route_table_id'] = subnet.route_table.id unless subnet.route_table.nil?
-
21
subnet_hash['ip_configurations_ids'] = subnet.ip_configurations.map(&:id) unless subnet.ip_configurations.nil?
-
21
subnet_hash
-
end
-
-
1
def save
-
1
requires :name, :resource_group, :virtual_network_name, :address_prefix
-
1
subnet = service.create_subnet(resource_group, name, virtual_network_name, address_prefix, network_security_group_id, route_table_id)
-
1
merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
-
end
-
-
1
def attach_network_security_group(network_security_group_id)
-
1
subnet = service.attach_network_security_group_to_subnet(resource_group, name, virtual_network_name, address_prefix, route_table_id, network_security_group_id)
-
1
merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
-
end
-
-
1
def detach_network_security_group
-
1
subnet = service.detach_network_security_group_from_subnet(resource_group, name, virtual_network_name, address_prefix, route_table_id)
-
1
merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
-
end
-
-
1
def attach_route_table(route_table_id)
-
1
subnet = service.attach_route_table_to_subnet(resource_group, name, virtual_network_name, address_prefix, network_security_group_id, route_table_id)
-
1
merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
-
end
-
-
1
def detach_route_table
-
1
subnet = service.detach_route_table_from_subnet(resource_group, name, virtual_network_name, address_prefix, network_security_group_id)
-
1
merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
-
end
-
-
1
def get_available_ipaddresses_count(express_route_enabled)
-
1
service.get_available_ipaddresses_count(name, address_prefix, ip_configurations_ids, express_route_enabled)
-
end
-
-
1
def destroy
-
1
service.delete_subnet(resource_group, name, virtual_network_name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Subnet collection for network service
-
1
class Subnets < Fog::Collection
-
1
model Subnet
-
1
attribute :resource_group
-
1
attribute :virtual_network_name
-
-
1
def all
-
3
requires :resource_group, :virtual_network_name
-
3
subnets = []
-
3
service.list_subnets(resource_group, virtual_network_name).each do |subnet|
-
3
subnets << Subnet.parse(subnet)
-
end
-
3
load(subnets)
-
end
-
-
1
def get(resource_group, virtual_network_name, subnet_name)
-
1
subnet = service.get_subnet(resource_group, virtual_network_name, subnet_name)
-
1
subnet_fog = Subnet.new(service: service)
-
1
subnet_fog.merge_attributes(Subnet.parse(subnet))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for virtual network.
-
1
class VirtualNetwork < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :dns_servers
-
1
attribute :subnets
-
1
attribute :address_prefixes
-
-
1
def self.parse(vnet)
-
12
hash = {}
-
12
hash['id'] = vnet.id
-
12
hash['name'] = vnet.name
-
12
hash['resource_group'] = get_resource_group_from_id(vnet.id)
-
12
hash['location'] = vnet.location
-
12
hash['dns_servers'] = vnet.dhcp_options.dns_servers unless vnet.dhcp_options.nil?
-
12
hash['address_prefixes'] = vnet.address_space.address_prefixes unless vnet.address_space.address_prefixes.nil?
-
-
12
subnets = []
-
12
vnet.subnets.each do |subnet|
-
12
subnet_object = Fog::Network::AzureRM::Subnet.new
-
12
subnets.push(subnet_object.merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet)))
-
end
-
12
hash['subnets'] = subnets
-
12
hash
-
end
-
-
1
def save
-
1
requires :name
-
1
requires :location
-
1
requires :resource_group
-
1
validate_subnets!(subnets) unless subnets.nil?
-
-
1
virtual_network = service.create_or_update_virtual_network(resource_group, name, location, dns_servers, subnets, address_prefixes)
-
1
merge_attributes(Fog::Network::AzureRM::VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def add_dns_servers(dns_servers_list)
-
1
virtual_network = service.add_dns_servers_in_virtual_network(resource_group, name, dns_servers_list)
-
1
merge_attributes(Fog::Network::AzureRM::VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def remove_dns_servers(dns_servers_list)
-
1
virtual_network = service.remove_dns_servers_from_virtual_network(resource_group, name, dns_servers_list)
-
1
merge_attributes(Fog::Network::AzureRM::VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def add_address_prefixes(address_prefixes_list)
-
1
virtual_network = service.add_address_prefixes_in_virtual_network(resource_group, name, address_prefixes_list)
-
1
merge_attributes(Fog::Network::AzureRM::VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def remove_address_prefixes(address_prefixes_list)
-
1
virtual_network = service.remove_address_prefixes_from_virtual_network(resource_group, name, address_prefixes_list)
-
1
merge_attributes(Fog::Network::AzureRM::VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def add_subnets(subnets_list)
-
1
validate_subnets!(subnets_list)
-
1
virtual_network = service.add_subnets_in_virtual_network(resource_group, name, subnets_list)
-
1
merge_attributes(Fog::Network::AzureRM::VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def remove_subnets(subnet_names_list)
-
1
virtual_network = service.remove_subnets_from_virtual_network(resource_group, name, subnet_names_list)
-
1
merge_attributes(Fog::Network::AzureRM::VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def update(vnet_hash)
-
1
raise('Provided hash can not be empty.') if vnet_hash.empty? || vnet_hash.nil?
-
1
validate_update_attributes!(vnet_hash)
-
1
merge_attributes(vnet_hash)
-
1
virtual_network = service.create_or_update_virtual_network(resource_group, name, location, dns_servers, subnets, address_prefixes)
-
1
merge_attributes(Fog::Network::AzureRM::VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def destroy
-
1
service.delete_virtual_network(resource_group, name)
-
end
-
-
1
private
-
-
1
def validate_update_attributes!(vnet_hash)
-
1
forbidden_attributes = [:id, :name, :location, :resource_group]
-
1
invalid_attributes = forbidden_attributes & vnet_hash.keys
-
1
raise "#{invalid_attributes.join(', ')} cannot be changed." if invalid_attributes.any?
-
1
validate_subnets!(vnet_hash[:subnets]) if vnet_hash.key?(:subnets)
-
end
-
-
1
def validate_subnets!(subnets)
-
3
raise ':subnets must be an Array' unless subnets.is_a?(Array)
-
3
raise ':subnets must not be an empty Array' if subnets.empty?
-
-
3
subnets.each do |subnet|
-
3
raise ':subnets must be an Array of Hashes' unless subnet.is_a?(Hash)
-
3
validate_params([:name, :address_prefix], subnet)
-
end
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# VirtualNetworkGateway model class for Network Service
-
1
class VirtualNetworkGateway < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :tags
-
1
attribute :gateway_type
-
1
attribute :gateway_size
-
1
attribute :vpn_type
-
1
attribute :enable_bgp
-
1
attribute :provisioning_state
-
1
attribute :sku_name
-
1
attribute :sku_tier
-
1
attribute :sku_capacity
-
1
attribute :ip_configurations
-
1
attribute :asn
-
1
attribute :bgp_peering_address
-
1
attribute :peer_weight
-
1
attribute :vpn_client_configuration
-
1
attribute :gateway_default_site
-
1
attribute :vpn_client_address_pool
-
1
attribute :default_sites
-
-
1
def self.parse(network_gateway)
-
15
hash = {}
-
15
hash['id'] = network_gateway.id
-
15
hash['name'] = network_gateway.name
-
15
hash['location'] = network_gateway.location
-
15
hash['resource_group'] = get_resource_group_from_id(network_gateway.id)
-
15
hash['tags'] = network_gateway.tags
-
15
unless network_gateway.sku.nil?
-
hash['sku_name'] = network_gateway.sku.name
-
hash['sku_tier'] = network_gateway.sku.tier
-
hash['sku_capacity'] = network_gateway.sku.capacity
-
end
-
15
hash['gateway_type'] = network_gateway.gateway_type
-
15
hash['gateway_default_site'] = network_gateway.gateway_default_site
-
15
hash['vpn_type'] = network_gateway.vpn_type
-
15
hash['enable_bgp'] = network_gateway.enable_bgp
-
15
hash['provisioning_state'] = network_gateway.provisioning_state
-
15
bgp_settings = network_gateway.bgp_settings
-
-
15
unless bgp_settings.nil?
-
hash['asn'] = bgp_settings.asn
-
hash['bgp_peering_address'] = bgp_settings.bgp_peering_address
-
hash['peer_weight'] = bgp_settings.peer_weight
-
end
-
-
15
hash['ip_configurations'] = []
-
network_gateway.ip_configurations.each do |ip_config|
-
ip_configuration = FrontendIPConfiguration.new
-
hash['ip_configurations'] << ip_configuration.merge_attributes(FrontendIPConfiguration.parse(ip_config))
-
15
end unless network_gateway.ip_configurations.nil?
-
-
15
unless network_gateway.vpn_client_configuration.nil?
-
vpn_client_configuration = VpnClientConfiguration.new
-
hash['vpn_client_configuration'] = vpn_client_configuration.merge_attributes(VpnClientConfiguration.parse(network_gateway.vpn_client_configuration))
-
end
-
-
15
hash
-
end
-
-
1
def save
-
1
requires :name, :location, :resource_group, :gateway_type, :enable_bgp
-
1
validate_ip_configurations(ip_configurations) unless ip_configurations.nil?
-
1
network_gateway = service.create_or_update_virtual_network_gateway(virtual_gateway_parameters)
-
1
merge_attributes(VirtualNetworkGateway.parse(network_gateway))
-
end
-
-
1
def destroy
-
1
service.delete_virtual_network_gateway(resource_group, name)
-
end
-
-
1
private
-
-
1
def virtual_gateway_parameters
-
{
-
resource_group_name: resource_group,
-
name: name,
-
location: location,
-
tags: tags,
-
gateway_type: gateway_type,
-
gateway_size: gateway_size,
-
vpn_type: vpn_type,
-
enable_bgp: enable_bgp,
-
provisioning_state: provisioning_state,
-
sku_name: sku_name,
-
sku_tier: sku_tier,
-
sku_capacity: sku_capacity,
-
vpn_client_address_pool: vpn_client_address_pool,
-
default_sites: default_sites,
-
gateway_default_site: gateway_default_site,
-
ip_configurations: ip_configurations,
-
vpn_client_configuration: vpn_client_configuration,
-
asn: asn,
-
bgp_peering_address: bgp_peering_address,
-
peer_weight: peer_weight
-
1
}
-
end
-
-
1
def validate_ip_configurations(ip_configurations)
-
unless ip_configurations.is_a?(Array)
-
raise(ArgumentError, ':ip_configurations must be an Array')
-
end
-
unless ip_configurations.any?
-
raise(ArgumentError, ':ip_configurations must not be an empty Array')
-
end
-
ip_configurations.each do |ip_configuration|
-
if ip_configuration.is_a?(Hash)
-
validate_ip_configuration_params(ip_configuration)
-
else
-
raise(ArgumentError, ':ip_configurations must be an Array of Hashes')
-
end
-
end
-
end
-
-
1
def validate_ip_configuration_params(ip_configuration)
-
required_params = [
-
:name,
-
:private_ipallocation_method
-
]
-
missing = required_params.select { |p| p unless ip_configuration.key?(p) }
-
if missing.length == 1 || missing.any?
-
raise(ArgumentError, "#{missing[0...-1].join(', ')} and #{missing[-1]} are required for this operation")
-
end
-
unless ip_configuration.key?(:subnet_id) || ip_configuration.key?(:public_ipaddress_id)
-
raise(ArgumentError, 'subnet_id and public_id can not be empty at the same time.')
-
end
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# VirtualNetworkGatewayConnection model class for Network Service
-
1
class VirtualNetworkGatewayConnection < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :tags
-
1
attribute :virtual_network_gateway1
-
1
attribute :virtual_network_gateway2
-
1
attribute :local_network_gateway2
-
1
attribute :connection_type
-
1
attribute :connection_status
-
1
attribute :authorization_key
-
1
attribute :routing_weight
-
1
attribute :shared_key
-
1
attribute :egress_bytes_transferred
-
1
attribute :ingress_bytes_transferred
-
1
attribute :peer
-
1
attribute :enable_bgp
-
1
attribute :resource_guid
-
1
attribute :provisioning_state
-
-
1
def self.parse(gateway_connection)
-
5
connection = get_hash_from_object(gateway_connection)
-
-
5
unless gateway_connection.virtual_network_gateway1.nil?
-
5
gateway1 = VirtualNetworkGateway.new
-
5
connection['virtual_network_gateway1'] = gateway1.merge_attributes(VirtualNetworkGateway.parse(gateway_connection.virtual_network_gateway1))
-
end
-
-
5
unless gateway_connection.virtual_network_gateway2.nil?
-
5
gateway2 = VirtualNetworkGateway.new
-
5
connection['virtual_network_gateway2'] = gateway2.merge_attributes(VirtualNetworkGateway.parse(gateway_connection.virtual_network_gateway2))
-
end
-
5
connection['resource_group'] = get_resource_group_from_id(gateway_connection.id)
-
5
connection
-
end
-
-
1
def save
-
1
requires :name, :location, :resource_group, :connection_type
-
1
gateway_connection = service.create_or_update_virtual_network_gateway_connection(gateway_connection_parameters)
-
1
merge_attributes(VirtualNetworkGatewayConnection.parse(gateway_connection))
-
end
-
-
1
def destroy
-
1
service.delete_virtual_network_gateway_connection(resource_group, name)
-
end
-
-
1
private
-
-
1
def gateway_connection_parameters
-
{
-
resource_group_name: resource_group,
-
name: name,
-
location: location,
-
tags: tags,
-
virtual_network_gateway1: virtual_network_gateway1,
-
virtual_network_gateway2: virtual_network_gateway2,
-
local_network_gateway2: local_network_gateway2,
-
enable_bgp: enable_bgp,
-
connection_type: connection_type,
-
authorization_key: authorization_key,
-
routing_weight: routing_weight,
-
shared_key: shared_key,
-
egress_bytes_transferred: egress_bytes_transferred,
-
ingress_bytes_transferred: ingress_bytes_transferred,
-
peer: peer
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# VirtualNetworkGatewayConnections collection class for Network Service
-
1
class VirtualNetworkGatewayConnections < Fog::Collection
-
1
model VirtualNetworkGatewayConnection
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
6
gateway_connections = service.list_virtual_network_gateway_connections(resource_group).map { |connection| VirtualNetworkGatewayConnection.parse(connection) }
-
3
load(gateway_connections)
-
end
-
-
1
def get(resource_group_name, name)
-
1
connection = service.get_virtual_network_gateway_connection(resource_group_name, name)
-
1
gateway_connection = VirtualNetworkGatewayConnection.new(service: service)
-
1
gateway_connection.merge_attributes(VirtualNetworkGatewayConnection.parse(connection))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# VirtualNetworkGateways collection class for Network Service
-
1
class VirtualNetworkGateways < Fog::Collection
-
1
model VirtualNetworkGateway
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
3
network_gateways = []
-
3
service.list_virtual_network_gateways(resource_group).each do |gateway|
-
3
network_gateways << VirtualNetworkGateway.parse(gateway)
-
end
-
3
load(network_gateways)
-
end
-
-
1
def get(resource_group_name, name)
-
1
network_gateway = service.get_virtual_network_gateway(resource_group_name, name)
-
1
virtual_network_gateway = VirtualNetworkGateway.new(service: service)
-
1
virtual_network_gateway.merge_attributes(VirtualNetworkGateway.parse(network_gateway))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# This class is giving implementation of all/list, get and
-
# check name availability for virtual network.
-
1
class VirtualNetworks < Fog::Collection
-
1
model VirtualNetwork
-
1
attribute :resource_group
-
-
1
def all
-
3
requires :resource_group
-
3
virtual_networks = []
-
3
service.list_virtual_networks(resource_group).each do |vnet|
-
3
virtual_networks << VirtualNetwork.parse(vnet)
-
end
-
3
load(virtual_networks)
-
end
-
-
1
def get(resource_group_name, virtual_network_name)
-
1
virtual_network = service.get_virtual_network(resource_group_name, virtual_network_name)
-
1
virtual_network_fog = VirtualNetwork.new(service: service)
-
1
virtual_network_fog.merge_attributes(VirtualNetwork.parse(virtual_network))
-
end
-
-
1
def check_if_exists(resource_group, name)
-
2
Fog::Logger.debug "Checkng if Virtual Network #{name} exists."
-
2
if service.check_for_virtual_network(name, resource_group)
-
1
Fog::Logger.debug "Virtual Network #{name} exists."
-
1
true
-
else
-
1
Fog::Logger.debug "Virtual Network #{name} doesn't exists."
-
1
false
-
end
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Vpn Client Configuration model class for Network Service
-
1
class VpnClientConfiguration < Fog::Model
-
1
attribute :address_pool
-
1
attribute :root_certificates
-
1
attribute :revoked_certificates
-
-
1
def self.parse(vpn_client_config)
-
hash = {}
-
hash['address_pool'] = []
-
vpn_client_config.vpn_client_address_pool.each do |address_prefix|
-
hash['address_pool'] << address_prefix
-
end unless vpn_client_config.vpn_client_address_pool.nil?
-
-
hash['root_certificates'] = []
-
vpn_client_config.vpn_client_root_certificates.each do |root_cert|
-
root_certificate = Fog::Network::AzureRM::VpnClientRootCertificate.new
-
hash['root_certificates'] << root_certificate.merge_attributes(Fog::Network::AzureRM::VpnClientRootCertificate.parse(root_cert))
-
end unless vpn_client_config.vpn_client_root_certificates.nil?
-
-
hash['revoked_certificates'] = []
-
vpn_client_config.vpn_client_revoked_certificates.each do |revoked_cert|
-
revoked_certificate = Fog::Network::AzureRM::VpnClientRevokedCertificate.new
-
hash['revoked_certificates'] << revoked_certificate.merge_attributes(Fog::Network::AzureRM::VpnClientRevokedCertificate.parse(revoked_cert))
-
end unless vpn_client_config.vpn_client_revoked_certificates.nil?
-
-
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Vpn Client Revoked Certificate model class for Network Service
-
1
class VpnClientRevokedCertificate < Fog::Model
-
1
attribute :name
-
1
attribute :id
-
1
attribute :thumbprint
-
1
attribute :provisioning_state
-
-
1
def self.parse(revoked_cert)
-
hash = {}
-
hash['name'] = revoked_cert.name
-
hash['id'] = revoked_cert.id
-
hash['thumbprint'] = revoked_cert.thumbprint
-
hash['provisioning_state'] = revoked_cert.provisioning_state
-
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Vpn Client Root Certificate model class for Network Service
-
1
class VpnClientRootCertificate < Fog::Model
-
1
attribute :name
-
1
attribute :id
-
1
attribute :public_cert_data
-
1
attribute :provisioning_state
-
-
1
def self.parse(root_cert)
-
hash = {}
-
hash['name'] = root_cert.name
-
hash['id'] = root_cert.id
-
hash['public_cert_data'] = root_cert.public_cert_data
-
hash['provisioning_state'] = root_cert.provisioning_state
-
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for resources.
-
1
class AzureResource < Fog::Model
-
1
attribute :id
-
1
attribute :name
-
1
attribute :type
-
1
attribute :location
-
1
attribute :tags
-
-
1
def self.parse(resource)
-
5
hash = {}
-
5
hash['id'] = resource.id
-
5
hash['name'] = resource.name
-
5
hash['type'] = resource.type
-
5
hash['location'] = resource.location
-
5
hash['tags'] = resource.tags
-
5
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class is giving implementation of all/list and get.
-
1
class AzureResources < Fog::Collection
-
1
attribute :tag_name
-
1
attribute :tag_value
-
1
model AzureResource
-
-
1
def all
-
5
unless tag_name.nil? && tag_value.nil?
-
5
resources = []
-
5
service.list_tagged_resources(tag_name, tag_value).each do |resource|
-
5
resources << AzureResource.parse(resource)
-
end
-
5
resources.inspect
-
5
return load(resources)
-
end
-
nil
-
end
-
-
1
def get(resource_id)
-
4
all.find { |f| f.id == resource_id }
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# Dependency model class
-
1
class Dependency < Fog::Model
-
1
attribute :id
-
1
attribute :resource_name
-
1
attribute :resource_type
-
1
attribute :depends_on
-
-
1
def self.parse(dependency)
-
10
hash = {}
-
10
hash['id'] = dependency.id
-
10
hash['resource_name'] = dependency.resource_name
-
10
hash['resource_type'] = dependency.resource_type
-
-
10
hash['depends_on'] = []
-
dependency.depends_on.each do |sub_dependency|
-
5
dependency_obj = Fog::Resources::AzureRM::Dependency.new
-
5
hash['depends_on'] << dependency_obj.merge_attributes(Fog::Resources::AzureRM::Dependency.parse(sub_dependency))
-
10
end if dependency.respond_to?('depends_on')
-
10
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for Deployment model.
-
1
class Deployment < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :correlation_id
-
1
attribute :timestamp
-
1
attribute :outputs
-
1
attribute :providers
-
1
attribute :dependencies
-
1
attribute :template_link
-
1
attribute :parameters_link
-
1
attribute :mode
-
1
attribute :debug_setting
-
1
attribute :content_version
-
1
attribute :provisioning_state
-
-
1
def self.parse(deployment)
-
5
hash = {}
-
5
hash['name'] = deployment.name
-
5
hash['id'] = deployment.id
-
5
hash['resource_group'] = get_resource_from_resource_id(deployment.id, RESOURCE_GROUP_NAME)
-
5
hash['correlation_id'] = deployment.properties.correlation_id
-
5
hash['timestamp'] = deployment.properties.timestamp
-
5
hash['outputs'] = deployment.properties.outputs
-
-
5
hash['providers'] = []
-
5
deployment.properties.providers.each do |provider|
-
5
provider_obj = Fog::Resources::AzureRM::Provider.new
-
5
hash['providers'] << provider_obj.merge_attributes(Fog::Resources::AzureRM::Provider.parse(provider))
-
end
-
-
5
hash['dependencies'] = []
-
5
deployment.properties.dependencies.each do |dependency|
-
5
dependency_obj = Fog::Resources::AzureRM::Dependency.new
-
5
hash['dependencies'] << dependency_obj.merge_attributes(Fog::Resources::AzureRM::Dependency.parse(dependency))
-
end
-
-
5
hash['template_link'] = deployment.properties.template_link.uri
-
5
hash['parameters_link'] = deployment.properties.parameters_link.uri
-
5
hash['content_version'] = deployment.properties.template_link.content_version
-
5
hash['mode'] = deployment.properties.mode
-
5
hash['debug_setting'] = deployment.properties.debug_setting.detail_level unless deployment.properties.debug_setting.nil?
-
5
hash['provisioning_state'] = deployment.properties.provisioning_state
-
5
hash
-
end
-
-
1
def save
-
1
requires :name, :resource_group, :template_link, :parameters_link
-
-
1
deployment = service.create_deployment(resource_group, name, template_link, parameters_link)
-
1
merge_attributes(Fog::Resources::AzureRM::Deployment.parse(deployment))
-
end
-
-
1
def destroy
-
1
service.delete_deployment(resource_group, name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# Deployments collection class
-
1
class Deployments < Fog::Collection
-
1
attribute :resource_group
-
1
model Deployment
-
-
1
def all
-
3
requires :resource_group
-
3
deployments = []
-
3
service.list_deployments(resource_group).each do |deployment|
-
3
deployments << Deployment.parse(deployment)
-
end
-
3
load(deployments)
-
end
-
-
1
def get(resource_group_name, deployment_name)
-
1
deployment = service.get_deployment(resource_group_name, deployment_name)
-
1
deployment_fog = Deployment.new(service: service)
-
1
deployment_fog.merge_attributes(Deployment.parse(deployment))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# Provider model class
-
1
class Provider < Fog::Model
-
1
attribute :id
-
1
attribute :namespace
-
1
attribute :registration_state
-
1
attribute :resource_types
-
-
1
def self.parse(provider)
-
5
hash = {}
-
5
hash['id'] = provider.id
-
5
hash['namespace'] = provider.namespace
-
5
hash['registration_state'] = provider.registration_state if provider.respond_to?('registration_state')
-
-
5
hash['resource_types'] = []
-
5
provider.resource_types.each do |provider_resource_type|
-
5
provider_resource_type_obj = Fog::Resources::AzureRM::ProviderResourceType.new
-
5
hash['resource_types'] << provider_resource_type_obj.merge_attributes(Fog::Resources::AzureRM::ProviderResourceType.parse(provider_resource_type))
-
end
-
5
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# ProviderResourceType model class
-
1
class ProviderResourceType < Fog::Model
-
1
attribute :resource_type
-
1
attribute :locations
-
1
attribute :api_versions
-
1
attribute :properties
-
-
1
def self.parse(provider_resource_type)
-
5
hash = {}
-
5
hash['resource_type'] = provider_resource_type.resource_type
-
5
hash['locations'] = provider_resource_type.locations
-
5
hash['api_versions'] = provider_resource_type.api_versions if provider_resource_type.respond_to?('api_versions')
-
5
hash['properties'] = provider_resource_type.properties if provider_resource_type.respond_to?('properties')
-
5
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for resource group.
-
1
class ResourceGroup < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
-
1
def self.parse(resource_group)
-
5
hash = {}
-
5
hash['id'] = resource_group.id
-
5
hash['name'] = resource_group.name
-
5
hash['location'] = resource_group.location
-
5
hash
-
end
-
-
1
def save
-
1
requires :name
-
1
requires :location
-
1
resource_group = service.create_resource_group(name, location)
-
1
merge_attributes(Fog::Resources::AzureRM::ResourceGroup.parse(resource_group))
-
end
-
-
1
def destroy
-
1
service.delete_resource_group(name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class is giving implementation of all/list, get and
-
# check name availability for resource groups.
-
1
class ResourceGroups < Fog::Collection
-
1
model ResourceGroup
-
-
1
def all
-
3
resource_groups = []
-
3
service.list_resource_groups.each do |resource_group|
-
3
resource_groups.push(ResourceGroup.parse(resource_group))
-
end
-
3
load(resource_groups)
-
end
-
-
1
def get(resource_group_name)
-
1
resource_group = service.get_resource_group(resource_group_name)
-
1
resource_group_fog = ResourceGroup.new(service: service)
-
1
resource_group_fog.merge_attributes(ResourceGroup.parse(resource_group))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Sql Server model for Server Firewall Rule Service
-
1
class FirewallRule < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :type
-
1
attribute :resource_group
-
1
attribute :location
-
1
attribute :start_ip
-
1
attribute :end_ip
-
1
attribute :server_name
-
-
1
def self.parse(firewall)
-
{
-
id: firewall['id'],
-
type: firewall['type'],
-
name: firewall['name'],
-
location: firewall['location'],
-
resource_group: get_resource_group_from_id(firewall['id']),
-
server_name: get_server_name_from_id(firewall['id']),
-
start_ip: firewall['properties']['startIpAddress'],
-
end_ip: firewall['properties']['endIpAddress']
-
5
}
-
end
-
-
1
def save
-
1
requires :resource_group, :server_name, :name, :start_ip, :end_ip
-
1
firewall_rule = service.create_or_update_firewall_rule(firewall_params)
-
1
merge_attributes(FirewallRule.parse(firewall_rule))
-
end
-
-
1
def destroy
-
2
service.delete_firewall_rule(resource_group, server_name, name)
-
end
-
-
1
private
-
-
1
def firewall_params
-
{
-
resource_group: resource_group,
-
server_name: server_name,
-
name: name,
-
start_ip: start_ip,
-
end_ip: end_ip
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Sql Server Collection for Firewall Rules Service
-
1
class FirewallRules < Fog::Collection
-
1
attribute :resource_group
-
1
attribute :server_name
-
1
model FirewallRule
-
-
1
def all
-
3
requires :resource_group, :server_name
-
-
3
firewall_rules = []
-
3
service.list_firewall_rules(resource_group, server_name).each do |firewall_rule|
-
3
firewall_rules << FirewallRule.parse(firewall_rule)
-
end
-
3
load(firewall_rules)
-
end
-
-
1
def get(resource_group, server_name, rule_name)
-
1
firewall_rule = service.get_firewall_rule(resource_group, server_name, rule_name)
-
1
firewall_rule_fog = FirewallRule.new(service: service)
-
1
firewall_rule_fog.merge_attributes(FirewallRule.parse(firewall_rule))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Sql Database model for Database Service
-
1
class SqlDatabase < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :server_name
-
1
attribute :type
-
1
attribute :collation
-
1
attribute :create_mode
-
1
attribute :creation_date
-
1
attribute :current_service_level_objective_id
-
1
attribute :database_id
-
1
attribute :default_secondary_location
-
1
attribute :edition
-
1
attribute :earliest_restore_date
-
1
attribute :elastic_pool_name
-
1
attribute :location
-
1
attribute :max_size_bytes
-
1
attribute :requested_service_objective_id
-
1
attribute :requested_service_objective_name
-
1
attribute :restore_point_in_time
-
1
attribute :service_level_objective
-
1
attribute :source_database_id
-
1
attribute :source_database_deletion_date
-
-
1
def self.parse(database)
-
{
-
id: database['id'],
-
type: database['type'],
-
name: database['name'],
-
location: database['location'],
-
edition: database['properties']['edition'],
-
elastic_pool_name: database['elasticPoolName'],
-
collation: database['properties']['collation'],
-
create_mode: database['properties']['createMode'],
-
database_id: database['properties']['databaseId'],
-
server_name: get_server_name_from_id(database['id']),
-
creation_date: database['properties']['creationDate'],
-
max_size_bytes: database['properties']['maxSizeBytes'],
-
resource_group: get_resource_group_from_id(database['id']),
-
source_database_id: database['properties']['sourceDatabaseId'],
-
restore_point_in_time: database['properties']['restorePointInTime'],
-
earliest_restore_date: database['properties']['earliestRestoreDate'],
-
service_level_objective: database['properties']['serviceLevelObjective'],
-
default_secondary_location: database['properties']['defaultSecondaryLocation'],
-
source_database_deletion_date: database['properties']['sourceDatabaseDeletionDate'],
-
requested_service_objective_id: database['properties']['requestedServiceObjectiveId'],
-
requested_service_objective_name: database['properties']['requestedServiceObjectiveName'],
-
current_service_level_objective_id: database['properties']['currentServiceLevelObjectiveId'],
-
5
}
-
end
-
-
1
def save
-
1
requires :resource_group, :server_name, :name, :location
-
1
sql_database = service.create_or_update_database(database_params)
-
1
merge_attributes(Fog::Sql::AzureRM::SqlDatabase.parse(sql_database))
-
end
-
-
1
def destroy
-
2
service.delete_database(resource_group, server_name, name)
-
end
-
-
1
private
-
-
1
def database_params
-
{
-
resource_group: resource_group,
-
server_name: server_name,
-
name: name,
-
location: location,
-
create_mode: create_mode,
-
edition: edition,
-
source_database_id: source_database_id,
-
collation: collation,
-
max_size_bytes: max_size_bytes,
-
requested_service_objective_name: requested_service_objective_name,
-
restore_point_in_time: restore_point_in_time,
-
source_database_deletion_date: source_database_deletion_date,
-
elastic_pool_name: elastic_pool_name,
-
requested_service_objective_id: requested_service_objective_id
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Sql Server Collection for Database Service
-
1
class SqlDatabases < Fog::Collection
-
1
attribute :resource_group
-
1
attribute :server_name
-
1
model SqlDatabase
-
-
1
def all
-
3
requires :resource_group, :server_name
-
-
3
databases = []
-
3
service.list_databases(resource_group, server_name).each do |database|
-
3
databases << SqlDatabase.parse(database)
-
end
-
3
load(databases)
-
end
-
-
1
def get(resource_group, server_name, name)
-
1
database = service.get_database(resource_group, server_name, name)
-
1
database_fog = SqlDatabase.new(service: service)
-
1
database_fog.merge_attributes(SqlDatabase.parse(database))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Sql Server model for Server Service
-
1
class SqlServer < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :type
-
1
attribute :resource_group
-
1
attribute :location
-
1
attribute :version
-
1
attribute :state
-
1
attribute :administrator_login
-
1
attribute :administrator_login_password
-
1
attribute :fully_qualified_domain_name
-
-
1
def self.parse(server)
-
{
-
id: server['id'],
-
type: server['type'],
-
name: server['name'],
-
location: server['location'],
-
state: server['properties']['state'],
-
version: server['properties']['version'],
-
resource_group: get_resource_group_from_id(server['id']),
-
administrator_login: server['properties']['administratorLogin'],
-
administrator_login_password: server['properties']['administratorLoginPassword'],
-
fully_qualified_domain_name: server['properties']['fullyQualifiedDomainName']
-
5
}
-
end
-
-
1
def save
-
1
requires :name, :resource_group, :location, :version, :administrator_login, :administrator_login_password
-
1
sql_server = service.create_or_update_sql_server(database_params)
-
1
merge_attributes(Fog::Sql::AzureRM::SqlServer.parse(sql_server))
-
end
-
-
1
def destroy
-
2
service.delete_sql_server(resource_group, name)
-
end
-
-
1
private
-
-
1
def database_params
-
{
-
resource_group: resource_group,
-
name: name,
-
version: version,
-
location: location,
-
administrator_login: administrator_login,
-
administrator_login_password: administrator_login_password
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Sql Server Collection for Server Service
-
1
class SqlServers < Fog::Collection
-
1
attribute :resource_group
-
1
model SqlServer
-
-
1
def all
-
3
requires :resource_group
-
-
3
servers = []
-
3
service.list_sql_servers(resource_group).each do |server|
-
3
servers << SqlServer.parse(server)
-
end
-
3
load(servers)
-
end
-
-
1
def get(resource_group, server_name)
-
1
server = service.get_sql_server(resource_group, server_name)
-
1
server_fog = SqlServer.new(service: service)
-
1
server_fog.merge_attributes(SqlServer.parse(server))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# DataDisk Model for Storage Service
-
1
class DataDisk < Fog::Model
-
1
identity :name
-
1
attribute :disk_size_gb
-
1
attribute :lun
-
1
attribute :vhd_uri
-
1
attribute :caching
-
1
attribute :create_option
-
1
attribute :file_path
-
-
1
def self.parse(disk)
-
4
hash = {}
-
4
hash['name'] = disk.name
-
4
hash['disk_size_gb'] = disk.disk_size_gb
-
4
hash['lun'] = disk.lun
-
4
hash['vhd_uri'] = disk.vhd.uri
-
4
hash['caching'] = disk.caching unless disk.caching.nil?
-
4
hash['create_option'] = disk.create_option
-
4
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class is giving implementation of listing containers.
-
1
class Directories < Fog::Collection
-
1
model Directory
-
-
1
def all(options = { metadata: true })
-
9
containers = []
-
9
service.list_containers(options).each do |container|
-
21
hash = Directory.parse container
-
21
hash['public_access_level'] = 'unknown'
-
21
containers << hash
-
end
-
8
load containers
-
end
-
-
1
def get(identity)
-
6
container = all(prefix: identity, metadata: true).find { |item| item.key == identity }
-
2
return if container.nil?
-
-
1
access_control_list = service.get_container_access_control_list(identity)[0]
-
1
container.public_access_level = if access_control_list.is_a? Hash
-
1
access_control_list['public_access_level']
-
else
-
access_control_list.public_access_level
-
end
-
1
container
-
end
-
-
1
def get_metadata(name, options = {})
-
3
service.get_container_metadata(name, options)
-
end
-
-
1
def set_metadata(name, metadata, options = {})
-
3
service.set_container_metadata(name, metadata, options)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class is giving implementation of create and delete a container.
-
1
class Directory < Fog::Model
-
1
identity :key, aliases: %w(Name name)
-
1
attribute :etag
-
1
attribute :last_modified
-
1
attribute :lease_duration
-
1
attribute :lease_state
-
1
attribute :lease_status
-
1
attribute :metadata
-
1
attribute :public_access_level
-
-
1
def create(options = {})
-
4
requires :key
-
4
merge_attributes(Directory.parse(service.create_container(key, options)))
-
end
-
-
1
alias save create
-
-
1
def get_properties(options = { metadata: true })
-
3
requires :key
-
3
merge_attributes(Directory.parse(service.get_container_properties(key, options)))
-
end
-
-
1
def access_control_list(options = {})
-
3
requires :key
-
3
merge_attributes(Directory.parse(service.get_container_access_control_list(key, options)[0]))
-
end
-
-
1
def destroy(options = {})
-
3
requires :key
-
3
service.delete_container key, options
-
end
-
-
1
def self.parse(container)
-
28
hash = {}
-
28
if container.is_a? Hash
-
28
hash['key'] = container['name']
-
28
hash['metadata'] = container['metadata']
-
28
return hash unless container.key?('properties')
-
-
26
hash['last_modified'] = container['properties']['last_modified']
-
26
hash['etag'] = container['properties']['etag']
-
26
hash['lease_duration'] = container['properties']['lease_duration']
-
26
hash['lease_status'] = container['properties']['lease_status']
-
26
hash['lease_state'] = container['properties']['lease_state']
-
else
-
hash['key'] = container.name
-
hash['metadata'] = container.metadata
-
return hash unless container.respond_to?('properties')
-
-
hash['last_modified'] = container.properties[:last_modified]
-
hash['etag'] = container.properties[:etag]
-
hash['lease_duration'] = container.properties[:lease_duration]
-
hash['lease_status'] = container.properties[:lease_status]
-
hash['lease_state'] = container.properties[:lease_state]
-
end
-
26
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for Blob.
-
1
class File < Fog::Model
-
1
identity :key, aliases: %w(Name name)
-
1
attribute :accept_ranges
-
1
attribute :cache_control
-
1
attribute :committed_block_count
-
1
attribute :content_length
-
1
attribute :content_type
-
1
attribute :content_md5
-
1
attribute :content_encoding
-
1
attribute :content_language
-
1
attribute :content_disposition
-
1
attribute :copy_completion_time
-
1
attribute :copy_status
-
1
attribute :copy_status_description
-
1
attribute :copy_id
-
1
attribute :copy_progress
-
1
attribute :copy_source
-
1
attribute :directory
-
1
attribute :etag
-
1
attribute :file_path
-
1
attribute :last_modified
-
1
attribute :lease_duration
-
1
attribute :lease_state
-
1
attribute :lease_status
-
1
attribute :metadata
-
1
attribute :sequence_number
-
1
attribute :blob_type
-
-
1
def save(options = {})
-
7
requires :key
-
7
requires :directory
-
7
merge_attributes(options)
-
7
merge_attributes(File.parse(service.upload_block_blob_from_file(directory, key, file_path, options)))
-
end
-
-
1
alias create save
-
-
1
def destroy(options = {})
-
3
requires :key
-
3
requires :directory
-
3
service.delete_blob directory, key, options
-
end
-
-
1
def save_to_file(file_path, options = {})
-
4
requires :key
-
4
requires :directory
-
4
merge_attributes(file_path: file_path)
-
4
merge_attributes(File.parse(service.download_blob_to_file(directory, key, file_path, options)))
-
end
-
-
1
def get_properties(options = {})
-
4
requires :key
-
4
requires :directory
-
4
merge_attributes(File.parse(service.get_blob_properties(directory, key, options)))
-
end
-
-
1
def set_properties(properties = {})
-
3
requires :key
-
3
requires :directory
-
3
service.set_blob_properties(directory, key, properties)
-
2
merge_attributes(properties)
-
end
-
-
1
def get_metadata(options = {})
-
3
requires :key
-
3
requires :directory
-
3
merge_attributes(metadata: service.get_blob_metadata(directory, key, options))
-
end
-
-
1
def set_metadata(metadata, options = {})
-
3
requires :key
-
3
requires :directory
-
3
service.set_blob_metadata(directory, key, metadata, options)
-
2
merge_attributes(metadata: metadata)
-
end
-
-
1
def self.parse(blob)
-
22
if (blob.is_a? Hash) || (blob.is_a? Array)
-
21
parse_hash blob
-
else
-
1
parse_object blob
-
end
-
end
-
-
1
def self.parse_hash(blob)
-
21
hash = {}
-
21
hash['key'] = blob['name']
-
21
hash['metadata'] = blob['metadata']
-
21
return hash unless blob.key?('properties')
-
-
21
hash['last_modified'] = blob['properties']['last_modified']
-
21
hash['etag'] = blob['properties']['etag']
-
21
hash['lease_duration'] = blob['properties']['lease_duration']
-
21
hash['lease_status'] = blob['properties']['lease_status']
-
21
hash['lease_state'] = blob['properties']['lease_state']
-
21
hash['content_length'] = blob['properties']['content_length']
-
21
hash['content_type'] = blob['properties']['content_type']
-
21
hash['content_encoding'] = blob['properties']['content_encoding']
-
21
hash['content_language'] = blob['properties']['content_language']
-
21
hash['content_disposition'] = blob['properties']['content_disposition']
-
21
hash['content_md5'] = blob['properties']['content_md5']
-
21
hash['cache_control'] = blob['properties']['cache_control']
-
21
hash['sequence_number'] = blob['properties']['sequence_number']
-
21
hash['blob_type'] = blob['properties']['blob_type']
-
21
hash['copy_id'] = blob['properties']['copy_id']
-
21
hash['copy_status'] = blob['properties']['copy_status']
-
21
hash['copy_source'] = blob['properties']['copy_source']
-
21
hash['copy_progress'] = blob['properties']['copy_progress']
-
21
hash['copy_completion_time'] = blob['properties']['copy_completion_time']
-
21
hash['copy_status_description'] = blob['properties']['copy_status_description']
-
21
hash['accept_ranges'] = blob['properties']['accept_ranges']
-
21
hash
-
end
-
-
1
def self.parse_object(blob)
-
1
hash = {}
-
1
hash['key'] = blob.name
-
1
hash['metadata'] = blob.metadata
-
1
return hash unless blob.respond_to?('properties')
-
-
1
hash['last_modified'] = blob.properties[:last_modified]
-
1
hash['etag'] = blob.properties[:etag]
-
1
hash['lease_duration'] = blob.properties[:lease_duration]
-
1
hash['lease_status'] = blob.properties[:lease_status]
-
1
hash['lease_state'] = blob.properties[:lease_state]
-
1
hash['content_length'] = blob.properties[:content_length]
-
1
hash['content_type'] = blob.properties[:content_type]
-
1
hash['content_encoding'] = blob.properties[:content_encoding]
-
1
hash['content_language'] = blob.properties[:content_language]
-
1
hash['content_disposition'] = blob.properties[:content_disposition]
-
1
hash['content_md5'] = blob.properties[:content_md5]
-
1
hash['cache_control'] = blob.properties[:cache_control]
-
1
hash['sequence_number'] = blob.properties[:sequence_number]
-
1
hash['blob_type'] = blob.properties[:blob_type]
-
1
hash['copy_id'] = blob.properties[:copy_id]
-
1
hash['copy_status'] = blob.properties[:copy_status]
-
1
hash['copy_source'] = blob.properties[:copy_source]
-
1
hash['copy_progress'] = blob.properties[:copy_progress]
-
1
hash['copy_completion_time'] = blob.properties[:copy_completion_time]
-
1
hash['copy_status_description'] = blob.properties[:copy_status_description]
-
1
hash['accept_ranges'] = blob.properties[:accept_ranges]
-
1
hash
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class is giving implementation of listing blobs.
-
1
class Files < Fog::Collection
-
1
model File
-
1
attribute :directory
-
-
1
def all(options = { metadata: true })
-
7
files = []
-
7
service.list_blobs(directory, options).each do |blob|
-
12
hash = File.parse blob
-
12
hash['directory'] = directory
-
12
files << hash
-
end
-
6
load files
-
end
-
-
1
def get(directory, name)
-
4
file = File.new(service: service)
-
4
file.directory = directory
-
4
file.key = name
-
4
file
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for Recovery Vault.
-
1
class RecoveryVault < Fog::Model
-
1
attribute :id
-
1
identity :name
-
1
attribute :resource_group
-
1
attribute :location
-
1
attribute :type
-
1
attribute :sku_name
-
-
1
def self.parse(recovery_vault)
-
{
-
id: recovery_vault['id'],
-
name: recovery_vault['name'],
-
resource_group: get_resource_group_from_id(recovery_vault['id']),
-
location: recovery_vault['location'],
-
type: recovery_vault['type'],
-
sku_name: recovery_vault['sku']['name']
-
5
}
-
end
-
-
1
def save
-
1
requires :name, :location, :resource_group
-
1
recovery_vault = service.create_or_update_recovery_vault(resource_group, location, name)
-
1
merge_attributes(RecoveryVault.parse(recovery_vault))
-
end
-
-
1
def enable_backup_protection(vm_name, vm_resource_group)
-
1
requires :name, :resource_group
-
1
service.enable_backup_protection(name, resource_group, vm_name, vm_resource_group)
-
end
-
-
1
def start_backup(vm_name, vm_resource_group)
-
service.start_backup(resource_group, name, vm_name, vm_resource_group)
-
end
-
-
1
def disable_backup_protection(vm_name, vm_resource_group)
-
1
service.disable_backup_protection(name, resource_group, vm_name, vm_resource_group)
-
end
-
-
1
def destroy
-
1
service.delete_recovery_vault(resource_group, name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class is giving implementation of all/get for Recovery Vaults
-
1
class RecoveryVaults < Fog::Collection
-
1
model RecoveryVault
-
1
attribute :resource_group
-
1
attribute :name
-
-
1
def all
-
3
requires :resource_group
-
3
recovery_vaults = []
-
3
service.list_recovery_vaults(resource_group).each do |recovery_vault|
-
3
recovery_vaults << RecoveryVault.parse(recovery_vault)
-
end
-
3
load(recovery_vaults)
-
end
-
-
1
def get(resource_group, name)
-
1
recovery_vault = service.get_recovery_vault(resource_group, name)
-
1
recovery_vault_fog = RecoveryVault.new(service: service)
-
1
recovery_vault_fog.merge_attributes(RecoveryVault.parse(recovery_vault))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class is giving implementation of create/save and
-
# delete/destroy for storage account.
-
1
class StorageAccount < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :location
-
1
attribute :resource_group
-
1
attribute :sku_name
-
1
attribute :replication
-
1
attribute :encryption
-
-
1
def self.parse(storage_account)
-
9
hash = {}
-
9
hash['id'] = storage_account.id
-
9
hash['name'] = storage_account.name
-
9
hash['location'] = storage_account.location
-
9
hash['resource_group'] = get_resource_group_from_id(storage_account.id)
-
9
hash['sku_name'] = storage_account.sku.name.split('_').first
-
9
hash['replication'] = storage_account.sku.name.split('_').last
-
9
hash['encryption'] = storage_account.encryption.services.blob.enabled unless storage_account.encryption.nil?
-
9
hash
-
end
-
-
1
def save
-
4
requires :name
-
4
requires :location
-
4
requires :resource_group
-
# Create a model for new storage account.
-
4
self.sku_name = STANDARD_STORAGE if sku_name.nil?
-
4
self.replication = ALLOWED_STANDARD_REPLICATION.first if replication.nil?
-
4
validate_sku_name!
-
1
storage_account = service.create_storage_account(storage_account_params)
-
1
merge_attributes(StorageAccount.parse(storage_account))
-
end
-
-
1
def storage_account_params
-
{
-
resource_group: resource_group,
-
name: name,
-
sku_name: sku_name,
-
location: location,
-
replication: replication,
-
encryption: encryption
-
1
}
-
end
-
-
1
def update(storage_account_params)
-
1
validate_input(storage_account_params)
-
1
storage_account_params = merge_attributes(storage_account_params).all_attributes
-
-
1
storage_account = service.update_storage_account(storage_account_params)
-
1
merge_attributes(StorageAccount.parse(storage_account))
-
end
-
-
1
def validate_sku_name!
-
4
case sku_name
-
when STANDARD_STORAGE
-
2
raise 'Standard Replications can only be LRS, ZRS, GRS or RAGRS.' unless ALLOWED_STANDARD_REPLICATION.include?(replication)
-
when PREMIUM_STORAGE
-
1
raise 'Premium Replication can only be LRS.' if replication != 'LRS'
-
else
-
1
raise 'Account Type can only be Standard or Premium'
-
end
-
end
-
-
1
def get_access_keys(options = {})
-
1
service.get_storage_access_keys(resource_group, name, options)
-
end
-
-
1
def destroy
-
2
service.delete_storage_account(resource_group, name)
-
end
-
-
1
private
-
-
1
def validate_input(attr_hash)
-
1
invalid_attr = [:resource_group, :name, :location, :id]
-
1
result = invalid_attr & attr_hash.keys
-
1
raise 'Cannot modify the given attribute' unless result.empty?
-
end
-
-
1
private :storage_account_params, :validate_sku_name!
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class is giving implementation of all/list, get and
-
# check name availability for storage account.
-
1
class StorageAccounts < Fog::Collection
-
1
model StorageAccount
-
1
attribute :resource_group
-
-
1
def all
-
6
accounts = []
-
6
if !resource_group.nil?
-
3
requires :resource_group
-
3
hash_of_storage_accounts = service.list_storage_account_for_rg(resource_group)
-
else
-
3
hash_of_storage_accounts = service.list_storage_accounts
-
end
-
6
hash_of_storage_accounts.each do |account|
-
6
accounts << StorageAccount.parse(account)
-
end
-
6
load(accounts)
-
end
-
-
1
def get(resource_group_name, storage_account_name)
-
1
storage_account = service.get_storage_account(resource_group_name, storage_account_name)
-
1
storage_account_fog = StorageAccount.new(service: service)
-
1
storage_account_fog.merge_attributes(StorageAccount.parse(storage_account))
-
end
-
-
1
def check_name_availability(name)
-
2
params = Azure::ARM::Storage::Models::StorageAccountCheckNameAvailabilityParameters.new
-
2
params.name = name
-
2
params.type = 'Microsoft.Storage/storageAccounts'
-
2
service.check_storage_account_name_availability(params)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Traffic Manager End Point model for Traffic Manager Service
-
1
class TrafficManagerEndPoint < Fog::Model
-
1
identity :name
-
1
attribute :traffic_manager_profile_name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :type
-
1
attribute :target_resource_id
-
1
attribute :target
-
1
attribute :endpoint_status
-
1
attribute :endpoint_monitor_status
-
1
attribute :weight
-
1
attribute :priority
-
1
attribute :endpoint_location
-
1
attribute :min_child_endpoints
-
-
1
def self.parse(endpoint)
-
29
traffic_manager_endpoint = get_hash_from_object(endpoint)
-
29
traffic_manager_endpoint['type'] = get_end_point_type(endpoint.type)
-
29
traffic_manager_endpoint['resource_group'] = get_resource_group_from_id(endpoint.id)
-
29
traffic_manager_endpoint['traffic_manager_profile_name'] = get_traffic_manager_profile_name_from_endpoint_id(endpoint.id)
-
29
traffic_manager_endpoint
-
end
-
-
1
def save
-
1
requires :name, :traffic_manager_profile_name, :resource_group, :type
-
1
requires :target_resource_id if type.eql?(AZURE_ENDPOINTS)
-
1
requires :target, :endpoint_location if type.eql?(EXTERNAL_ENDPOINTS)
-
1
requires :target_resource_id, :endpoint_location, :min_child_endpoints if type.eql?(NESTED_ENDPOINTS)
-
-
1
create_or_update
-
end
-
-
1
def destroy
-
1
service.delete_traffic_manager_endpoint(resource_group, name, traffic_manager_profile_name, type)
-
end
-
-
1
def update(endpoint_params)
-
validate_input(endpoint_params)
-
merge_attributes(endpoint_params)
-
-
create_or_update
-
end
-
-
1
private
-
-
1
def create_or_update
-
4
if %w(azureEndpoints externalEndpoints nestedEndpoints).select { |type| type if type.eql?(type) }.any?
-
1
traffic_manager_endpoint = service.create_or_update_traffic_manager_endpoint(traffic_manager_endpoint_hash)
-
1
merge_attributes(TrafficManagerEndPoint.parse(traffic_manager_endpoint))
-
else
-
raise(ArgumentError, ":type should be '#{AZURE_ENDPOINTS}', '#{EXTERNAL_ENDPOINTS}' or '#{NESTED_ENDPOINTS}'")
-
end
-
end
-
-
1
def traffic_manager_endpoint_hash
-
{
-
resource_group: resource_group,
-
name: name,
-
traffic_manager_profile_name: traffic_manager_profile_name,
-
type: type,
-
target_resource_id: target_resource_id,
-
target: target,
-
weight: weight,
-
priority: priority,
-
endpoint_location: endpoint_location,
-
min_child_endpoints: min_child_endpoints
-
1
}
-
end
-
-
1
def validate_input(attr_hash)
-
invalid_attr = [:resource_group, :name, :traffic_manager_profile_name, :id]
-
result = invalid_attr & attr_hash.keys
-
raise 'Cannot modify the given attribute' unless result.empty?
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Traffic Manager End Point Collection for TrafficManager Service
-
1
class TrafficManagerEndPoints < Fog::Collection
-
1
attribute :resource_group
-
1
attribute :traffic_manager_profile_name
-
1
model TrafficManagerEndPoint
-
-
1
def all
-
3
requires :resource_group, :traffic_manager_profile_name
-
-
3
end_points = service.get_traffic_manager_profile(resource_group, traffic_manager_profile_name).endpoints
-
12
traffic_manager_endpoints = end_points.map { |endpoint| TrafficManagerEndPoint.parse(endpoint) }
-
3
load(traffic_manager_endpoints)
-
end
-
-
1
def get(resource_group, traffic_manager_profile_name, end_point_name, type)
-
1
endpoint = service.get_traffic_manager_end_point(resource_group, traffic_manager_profile_name, end_point_name, type)
-
1
endpoint_fog = TrafficManagerEndPoint.new(service: service)
-
1
endpoint_fog.merge_attributes(TrafficManagerEndPoint.parse(endpoint))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Traffic Manager Profile model for TrafficManager Service
-
1
class TrafficManagerProfile < Fog::Model
-
1
identity :name
-
1
attribute :id
-
1
attribute :resource_group
-
1
attribute :location
-
1
attribute :profile_status
-
1
attribute :traffic_routing_method
-
1
attribute :relative_name
-
1
attribute :fqdn
-
1
attribute :ttl
-
1
attribute :profile_monitor_status
-
1
attribute :protocol
-
1
attribute :port
-
1
attribute :path
-
1
attribute :endpoints
-
-
1
def self.parse(profile)
-
6
traffic_manager_profile = get_hash_from_object(profile)
-
-
6
if profile.dns_config
-
6
traffic_manager_profile['relative_name'] = profile.dns_config.relative_name
-
6
traffic_manager_profile['fqdn'] = profile.dns_config.fqdn
-
6
traffic_manager_profile['ttl'] = profile.dns_config.ttl
-
end
-
-
6
if profile.monitor_config
-
6
traffic_manager_profile['profile_monitor_status'] = profile.monitor_config.profile_monitor_status
-
6
traffic_manager_profile['protocol'] = profile.monitor_config.protocol
-
6
traffic_manager_profile['port'] = profile.monitor_config.port
-
6
traffic_manager_profile['path'] = profile.monitor_config.path
-
end
-
6
traffic_manager_profile['resource_group'] = get_resource_group_from_id(profile.id)
-
6
traffic_manager_profile['endpoints'] = []
-
6
profile.endpoints.each do |endpoint|
-
18
end_point = TrafficManagerEndPoint.new
-
18
traffic_manager_profile['endpoints'] << end_point.merge_attributes(TrafficManagerEndPoint.parse(endpoint))
-
end
-
6
traffic_manager_profile
-
end
-
-
1
def save
-
1
requires :name, :resource_group, :traffic_routing_method, :relative_name, :ttl,
-
:protocol, :port, :path
-
1
traffic_manager_profile = service.create_or_update_traffic_manager_profile(traffic_manager_profile_hash)
-
1
merge_attributes(TrafficManagerProfile.parse(traffic_manager_profile))
-
end
-
-
1
def destroy
-
1
service.delete_traffic_manager_profile(resource_group, name)
-
end
-
-
1
def update(profile_params)
-
1
validate_input(profile_params)
-
1
merge_attributes(profile_params)
-
1
profile = service.create_or_update_traffic_manager_profile(traffic_manager_profile_hash)
-
1
merge_attributes(TrafficManagerProfile.parse(profile))
-
end
-
-
1
private
-
-
1
def validate_input(attr_hash)
-
1
invalid_attr = [:resource_group, :name, :relative_name, :id]
-
1
result = invalid_attr & attr_hash.keys
-
1
raise 'Cannot modify the given attribute' unless result.empty?
-
end
-
-
1
def traffic_manager_profile_hash
-
{
-
resource_group: resource_group,
-
name: name,
-
traffic_routing_method: traffic_routing_method,
-
relative_name: relative_name,
-
ttl: ttl,
-
protocol: protocol,
-
port: port,
-
path: path
-
2
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Traffic Manager Profile Collection for TrafficManager Service
-
1
class TrafficManagerProfiles < Fog::Collection
-
1
attribute :resource_group
-
1
model TrafficManagerProfile
-
-
1
def all
-
3
requires :resource_group
-
6
traffic_manager_profiles = service.list_traffic_manager_profiles(resource_group).map { |profile| TrafficManagerProfile.parse(profile) }
-
3
load(traffic_manager_profiles)
-
end
-
-
1
def get(resource_group, traffic_manager_profile_name)
-
1
profile = service.get_traffic_manager_profile(resource_group, traffic_manager_profile_name)
-
1
profile_fog = TrafficManagerProfile.new(service: service)
-
1
profile_fog.merge_attributes(TrafficManagerProfile.parse(profile))
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
# Fog Service Class for AzureRM
-
1
class AzureRM < Fog::Service
-
1
requires :tenant_id
-
1
requires :client_id
-
1
requires :client_secret
-
1
requires :subscription_id
-
-
1
request_path 'fog/azurerm/requests/network'
-
1
request :create_or_update_virtual_network
-
1
request :get_virtual_network
-
1
request :add_dns_servers_in_virtual_network
-
1
request :remove_dns_servers_from_virtual_network
-
1
request :add_address_prefixes_in_virtual_network
-
1
request :remove_subnets_from_virtual_network
-
1
request :remove_address_prefixes_from_virtual_network
-
1
request :add_subnets_in_virtual_network
-
1
request :delete_virtual_network
-
1
request :list_virtual_networks
-
1
request :check_for_virtual_network
-
1
request :create_or_update_public_ip
-
1
request :delete_public_ip
-
1
request :get_public_ip
-
1
request :list_public_ips
-
1
request :check_for_public_ip
-
1
request :create_subnet
-
1
request :attach_network_security_group_to_subnet
-
1
request :detach_network_security_group_from_subnet
-
1
request :attach_route_table_to_subnet
-
1
request :detach_route_table_from_subnet
-
1
request :list_subnets
-
1
request :get_subnet
-
1
request :get_available_ipaddresses_count
-
1
request :delete_subnet
-
1
request :create_or_update_network_interface
-
1
request :delete_network_interface
-
1
request :list_network_interfaces
-
1
request :get_network_interface
-
1
request :attach_resource_to_nic
-
1
request :detach_resource_from_nic
-
1
request :create_load_balancer
-
1
request :delete_load_balancer
-
1
request :list_load_balancers
-
1
request :get_load_balancer
-
1
request :create_or_update_network_security_group
-
1
request :delete_network_security_group
-
1
request :list_network_security_groups
-
1
request :get_network_security_group
-
1
request :add_security_rules
-
1
request :remove_security_rule
-
1
request :delete_virtual_network_gateway
-
1
request :create_or_update_virtual_network_gateway
-
1
request :list_virtual_network_gateways
-
1
request :get_virtual_network_gateway
-
1
request :create_or_update_express_route_circuit
-
1
request :delete_express_route_circuit
-
1
request :get_express_route_circuit
-
1
request :list_express_route_circuits
-
1
request :create_or_update_express_route_circuit_peering
-
1
request :delete_express_route_circuit_peering
-
1
request :get_express_route_circuit_peering
-
1
request :list_express_route_circuit_peerings
-
1
request :create_or_update_express_route_circuit_authorization
-
1
request :delete_express_route_circuit_authorization
-
1
request :get_express_route_circuit_authorization
-
1
request :list_express_route_circuit_authorizations
-
1
request :list_express_route_service_providers
-
1
request :create_or_update_local_network_gateway
-
1
request :delete_local_network_gateway
-
1
request :get_local_network_gateway
-
1
request :list_local_network_gateways
-
1
request :create_or_update_virtual_network_gateway_connection
-
1
request :delete_virtual_network_gateway_connection
-
1
request :get_virtual_network_gateway_connection
-
1
request :list_virtual_network_gateway_connections
-
1
request :get_connection_shared_key
-
1
request :reset_connection_shared_key
-
1
request :set_connection_shared_key
-
1
request :create_or_update_network_security_rule
-
1
request :delete_network_security_rule
-
1
request :get_network_security_rule
-
1
request :list_network_security_rules
-
-
1
model_path 'fog/azurerm/models/network'
-
1
model :virtual_network
-
1
collection :virtual_networks
-
1
model :public_ip
-
1
collection :public_ips
-
1
model :subnet
-
1
collection :subnets
-
1
model :network_interface
-
1
collection :network_interfaces
-
1
model :load_balancer
-
1
collection :load_balancers
-
1
model :frontend_ip_configuration
-
1
model :inbound_nat_pool
-
1
model :inbound_nat_rule
-
1
model :load_balancing_rule
-
1
model :probe
-
1
model :network_security_group
-
1
collection :network_security_groups
-
1
model :network_security_rule
-
1
collection :network_security_rules
-
1
model :path_rule
-
1
model :vpn_client_configuration
-
1
model :vpn_client_revoked_certificates
-
1
model :vpn_client_root_certificates
-
1
model :virtual_network_gateway
-
1
collection :virtual_network_gateways
-
1
model :express_route_circuit
-
1
collection :express_route_circuits
-
1
model :express_route_circuit_peering
-
1
collection :express_route_circuit_peerings
-
1
model :express_route_circuit_authorization
-
1
collection :express_route_circuit_authorizations
-
1
model :express_route_service_provider
-
1
collection :express_route_service_providers
-
1
model :local_network_gateway
-
1
collection :local_network_gateways
-
1
model :virtual_network_gateway_connection
-
1
collection :virtual_network_gateway_connections
-
-
# Mock class for Network Service
-
1
class Mock
-
1
def initialize(_options = {})
-
begin
-
require 'azure_mgmt_network'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
end
-
end
-
-
# Real class for Network Service
-
1
class Real
-
1
def initialize(options)
-
294
begin
-
294
require 'azure_mgmt_network'
-
294
require 'yaml'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
-
294
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
-
294
@network_client = ::Azure::ARM::Network::NetworkManagementClient.new(credentials)
-
294
@network_client.subscription_id = options[:subscription_id]
-
294
@tenant_id = options[:tenant_id]
-
294
@client_id = options[:client_id]
-
294
@client_secret = options[:client_secret]
-
294
@subscription_id = options[:subscription_id]
-
294
current_directory = File.dirname(__FILE__)
-
294
@logger_messages = YAML.load_file("#{current_directory}/utilities/logger_messages.yml")
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Real class for Application Gateway Request
-
1
class Real
-
1
def create_or_update_application_gateway(gateway_params)
-
2
msg = "Creating/Updated Application Gateway: #{gateway_params[:name]} in Resource Group: #{gateway_params[:resource_group]}."
-
2
Fog::Logger.debug msg
-
2
gateway = define_application_gateway(gateway_params)
-
2
begin
-
2
gateway_obj = @network_client.application_gateways.create_or_update(gateway_params[:resource_group], gateway_params[:name], gateway)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Application Gateway #{gateway_params[:name]} created/updated successfully."
-
1
gateway_obj
-
end
-
-
1
private
-
-
1
def define_application_gateway(gateway_params)
-
2
application_gateway = Azure::ARM::Network::Models::ApplicationGateway.new
-
2
application_gateway.name = gateway_params[:name]
-
2
application_gateway.location = gateway_params[:location]
-
-
2
application_gateway.gateway_ipconfigurations = define_gateway_ip_configuration(gateway_params[:gateway_ip_configurations]) if gateway_params[:gateway_ip_configurations]
-
2
application_gateway.ssl_certificates = define_ssl_certificate(gateway_params[:ssl_certificates]) if gateway_params[:ssl_certificates]
-
2
application_gateway.frontend_ipconfigurations = define_frontend_ip_configurations(gateway_params[:frontend_ip_configurations]) if gateway_params[:frontend_ip_configurations]
-
2
application_gateway.frontend_ports = define_frontend_ports(gateway_params[:frontend_ports]) if gateway_params[:frontend_ports]
-
2
application_gateway.probes = define_probes(gateway_params[:probes]) if gateway_params[:probes]
-
2
application_gateway.backend_address_pools = define_backend_address_pools(gateway_params[:backend_address_pools]) if gateway_params[:backend_address_pools]
-
2
application_gateway.backend_http_settings_collection = define_backend_http_settings(gateway_params[:backend_http_settings_list]) if gateway_params[:backend_http_settings_list]
-
2
application_gateway.http_listeners = define_http_listeners(gateway_params[:http_listeners]) if gateway_params[:http_listeners]
-
2
application_gateway.url_path_maps = define_url_path_maps(gateway_params[:url_path_maps]) if gateway_params[:url_path_maps]
-
2
application_gateway.request_routing_rules = define_request_routing_rules(gateway_params[:request_routing_rules]) if gateway_params[:request_routing_rules]
-
-
2
gateway_sku = Azure::ARM::Network::Models::ApplicationGatewaySku.new
-
2
gateway_sku.name = gateway_params[:sku_name]
-
2
gateway_sku.tier = gateway_params[:sku_tier]
-
2
gateway_sku.capacity = gateway_params[:sku_capacity]
-
2
application_gateway.sku = gateway_sku
-
-
2
application_gateway
-
end
-
-
1
def define_gateway_ip_configuration(gateway_ip_configurations)
-
2
gateway_ip_configuration_arr = []
-
2
gateway_ip_configurations.each do |ip_configuration|
-
2
configuration = Azure::ARM::Network::Models::ApplicationGatewayIPConfiguration.new
-
2
configuration.provisioning_state = ip_configuration[:provisioning_state]
-
2
if ip_configuration[:subnet_id]
-
2
subnet = Azure::ARM::Network::Models::Subnet.new
-
2
subnet.id = ip_configuration[:subnet_id]
-
2
configuration.subnet = subnet
-
end
-
-
2
configuration.name = ip_configuration[:name]
-
2
gateway_ip_configuration_arr.push(configuration)
-
end
-
2
gateway_ip_configuration_arr
-
end
-
-
1
def define_ssl_certificate(ssl_certificates)
-
2
ssl_certificate_arr = []
-
2
ssl_certificates.each do |ssl_certificate|
-
2
certificate = Azure::ARM::Network::Models::ApplicationGatewaySslCertificate.new
-
2
certificate.data = ssl_certificate[:data]
-
2
certificate.password = ssl_certificate[:password]
-
2
certificate.public_cert_data = ssl_certificate[:public_cert_data]
-
-
2
certificate.name = ssl_certificate[:name]
-
2
ssl_certificate_arr.push(ssl_certificate)
-
end
-
2
ssl_certificate_arr
-
end
-
-
1
def define_frontend_ip_configurations(frontend_ip_configurations)
-
2
frontend_ip_configuration_arr = []
-
2
frontend_ip_configurations.each do |fic|
-
2
frontend_ip_configuration = Azure::ARM::Network::Models::ApplicationGatewayFrontendIPConfiguration.new
-
-
2
frontend_ip_configuration.private_ipaddress = fic[:private_ip_address]
-
2
frontend_ip_configuration.private_ipallocation_method = fic[:private_ip_allocation_method]
-
-
2
unless fic[:public_ip_address_id].nil?
-
2
pip = Azure::ARM::Network::Models::PublicIPAddress.new
-
2
pip.id = fic[:public_ip_address_id]
-
2
frontend_ip_configuration.public_ipaddress = pip
-
end
-
-
2
frontend_ip_configuration.name = fic[:name]
-
-
2
frontend_ip_configuration_arr.push(frontend_ip_configuration)
-
end
-
2
frontend_ip_configuration_arr
-
end
-
-
1
def define_frontend_ports(frontend_ports)
-
2
frontend_port_arr = []
-
2
frontend_ports.each do |port|
-
2
frontend_port = Azure::ARM::Network::Models::ApplicationGatewayFrontendPort.new
-
-
2
frontend_port.port = port[:port]
-
2
frontend_port.name = port[:name]
-
-
2
frontend_port_arr.push(frontend_port)
-
end
-
2
frontend_port_arr
-
end
-
-
1
def define_probes(probes)
-
2
probe_arr = []
-
2
probes.each do |probe|
-
2
ag_probe = Azure::ARM::Network::Models::ApplicationGatewayProbe.new
-
2
ag_probe.protocol = probe[:protocol]
-
2
ag_probe.host = probe[:host]
-
2
ag_probe.path = probe[:path]
-
2
ag_probe.interval = probe[:interval]
-
2
ag_probe.timeout = probe[:timeout]
-
2
ag_probe.unhealthy_threshold = probe[:unhealthy_threshold]
-
-
2
ag_probe.name = probe[:name]
-
2
probe_arr.push(ag_probe)
-
end
-
2
probe_arr
-
end
-
-
1
def define_backend_address_pools(backend_address_pools)
-
2
backend_address_pool_arr = []
-
-
2
backend_address_pools.each do |bap|
-
2
backend_pool = Azure::ARM::Network::Models::ApplicationGatewayBackendAddressPool.new
-
-
2
backend_addresses1 = bap[:ip_addresses]
-
2
addresses = []
-
2
backend_addresses1.each do |address|
-
2
backend_add = Azure::ARM::Network::Models::ApplicationGatewayBackendAddress.new
-
2
backend_add.ip_address = address[:ipAddress]
-
2
addresses.push(backend_add)
-
end
-
2
backend_pool.backend_addresses = addresses
-
-
2
backend_pool.name = bap[:name]
-
2
backend_address_pool_arr.push(backend_pool)
-
end
-
2
backend_address_pool_arr
-
end
-
-
1
def define_backend_http_settings(backend_http_settings_list)
-
2
backend_http_setting_arr = []
-
-
2
backend_http_settings_list.each do |http_setting|
-
2
backend_http_setting = Azure::ARM::Network::Models::ApplicationGatewayBackendHttpSettings.new
-
2
backend_http_setting.port = http_setting[:port]
-
2
backend_http_setting.protocol = http_setting[:protocol]
-
2
backend_http_setting.cookie_based_affinity = http_setting[:cookie_based_affinity]
-
2
backend_http_setting.request_timeout = http_setting[:request_timeout]
-
2
if http_setting[:probe]
-
2
probe = Azure::ARM::Network::Models::Probe.new
-
2
probe.id = http_setting[:probe]
-
2
backend_http_setting.probe = probe
-
end
-
-
2
backend_http_setting.name = http_setting[:name]
-
2
backend_http_setting_arr.push(backend_http_setting)
-
end
-
2
backend_http_setting_arr
-
end
-
-
1
def define_http_listeners(http_listeners)
-
2
http_listener_arr = []
-
-
2
http_listeners.each do |listener|
-
2
http_listener = Azure::ARM::Network::Models::ApplicationGatewayHttpListener.new
-
-
2
http_listener.protocol = listener[:protocol]
-
2
http_listener.host_name = listener[:host_name]
-
2
http_listener.require_server_name_indication = listener[:require_server_name_indication]
-
2
if listener[:frontend_ip_config_id]
-
2
frontend_ip = Azure::ARM::Network::Models::FrontendIPConfiguration.new
-
2
frontend_ip.id = listener[:frontend_ip_config_id]
-
2
http_listener.frontend_ipconfiguration = frontend_ip
-
end
-
2
if listener[:frontend_port_id]
-
2
frontend_port = Azure::ARM::Network::Models::ApplicationGatewayFrontendPort.new
-
2
frontend_port.id = listener[:frontend_port_id]
-
2
http_listener.frontend_port = frontend_port
-
end
-
2
if listener[:ssl_certificate_id]
-
2
ssl_cert = Azure::ARM::Network::Models::ApplicationGatewaySslCertificate.new
-
2
ssl_cert.id = listener[:ssl_certificate_id]
-
2
http_listener.ssl_certificate = ssl_cert
-
end
-
-
2
http_listener.name = listener[:name]
-
2
http_listener_arr.push(http_listener)
-
end
-
2
http_listener_arr
-
end
-
-
1
def define_url_path_maps(url_path_maps)
-
2
url_path_map_arr = []
-
-
2
url_path_maps.each do |map|
-
2
url_path_map = Azure::ARM::Network::Models::ApplicationGatewayUrlPathMap.new
-
-
2
if map[:default_backend_address_pool_id]
-
2
default_backend_address_pool = Azure::ARM::Network::Models::BackendAddressPool.new
-
2
default_backend_address_pool.id = map[:default_backend_address_pool_id]
-
2
url_path_map.default_backend_address_pool = default_backend_address_pool
-
end
-
2
if map[:default_backend_http_settings_id]
-
2
default_backend_http_setting = Azure::ARM::Network::Models::ApplicationGatewayBackendHttpSettings.new
-
2
default_backend_http_setting.id = map[:default_backend_http_settings_id]
-
2
url_path_map.default_backend_http_settings = default_backend_http_setting
-
end
-
-
2
if map[:path_rules]
-
2
path_rules = map[:path_rules]
-
2
path_rule_arr = define_path_rules(path_rules)
-
2
url_path_map.path_rules = path_rule_arr
-
end
-
-
2
url_path_map.name = map[:name]
-
2
url_path_map_arr.push(url_path_map)
-
end
-
2
url_path_map_arr
-
end
-
-
1
def define_path_rules(path_rules)
-
2
path_rule_arr = []
-
2
path_rules.each do |rule|
-
2
path_rule = Azure::ARM::Network::Models::ApplicationGatewayPathRule.new
-
2
if rule[:backend_address_pool_id]
-
2
backend_address_pool = Azure::ARM::Network::Models::BackendAddressPool.new
-
2
backend_address_pool.id = rule[:backend_address_pool_id]
-
2
path_rule.backend_address_pool = backend_address_pool
-
end
-
2
if rule[:backend_http_settings_id]
-
2
backend_http_setting = Azure::ARM::Network::Models::ApplicationGatewayBackendHttpSettings.new
-
2
backend_http_setting.id = rule[:backend_http_settings_id]
-
2
path_rule.backend_http_settings = backend_http_setting
-
end
-
2
path_urls = rule[:paths]
-
-
2
paths = []
-
2
path_urls.each do |url|
-
2
paths.push(url)
-
end
-
2
path_rule.paths = paths
-
-
2
path_rule.name = rule[:name]
-
2
path_rule_arr.push(path_rule)
-
end
-
2
path_rule_arr
-
end
-
-
1
def define_request_routing_rules(request_routing_rules)
-
2
request_routing_rule_arr = []
-
-
2
request_routing_rules.each do |rule|
-
2
request_routing_rule = Azure::ARM::Network::Models::ApplicationGatewayRequestRoutingRule.new
-
-
2
request_routing_rule.rule_type = rule[:type]
-
2
if rule[:http_listener_id]
-
2
http_listener = Azure::ARM::Network::Models::ApplicationGatewayHttpListener.new
-
2
http_listener.id = rule[:http_listener_id]
-
2
request_routing_rule.http_listener = http_listener
-
end
-
2
if rule[:backend_address_pool_id]
-
2
backend_address_pool = Azure::ARM::Network::Models::BackendAddressPool.new
-
2
backend_address_pool.id = rule[:backend_address_pool_id]
-
2
request_routing_rule.backend_address_pool = backend_address_pool
-
end
-
2
if rule[:backend_http_settings_id]
-
2
backend_http_setting = Azure::ARM::Network::Models::ApplicationGatewayBackendHttpSettings.new
-
2
backend_http_setting.id = rule[:backend_http_settings_id]
-
2
request_routing_rule.backend_http_settings = backend_http_setting
-
end
-
-
2
request_routing_rule.name = rule[:name]
-
2
request_routing_rule_arr.push(request_routing_rule)
-
end
-
2
request_routing_rule_arr
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_or_update_application_gateway(*)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Real class for Application Gateway Request
-
1
class Real
-
1
def delete_application_gateway(resource_group, name)
-
2
msg = "Deleting Application_Gateway #{name} from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.application_gateways.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Application Gateway #{name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_application_gateway(_resource_group, _name)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Real class for Application Gateway Request
-
1
class Real
-
1
def get_application_gateway(resource_group_name, application_gateway_name)
-
2
msg = "Getting Application Gateway: #{application_gateway_name} in Resource group: #{resource_group_name}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
application_gateway = @network_client.application_gateways.get(resource_group_name, application_gateway_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Getting application gateway #{application_gateway_name} successfully in Resource Group: #{resource_group_name}"
-
1
application_gateway
-
end
-
end
-
-
# Mock class for Application Gateway Request
-
1
class Mock
-
1
def get_application_gateway(*)
-
response = '{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway",
-
"name": "gateway",
-
"type": "Microsoft.Network/applicationGateways",
-
"location": "eastus",
-
"properties": {
-
"sku": {
-
"name": "Standard_Medium",
-
"tier": "Standard",
-
"capacity": 2
-
},
-
"gatewayIPConfigurations": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/gatewayIPConfigurations/ag-GatewayIP",
-
"properties": {
-
"subnet": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "ag-GatewayIP"
-
}
-
],
-
"sslCertificates": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate",
-
"properties": {
-
"publicCertData": "MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=",
-
"provisioningState": "Succeeded"
-
},
-
"name": "ssl_certificate"
-
}
-
],
-
"frontendIPConfigurations": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config",
-
"properties": {
-
"privateIPAllocationMethod": "Dynamic",
-
"publicIPAddress": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/ag_publicip-672835"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "frontend_ip_config"
-
}
-
],
-
"frontendPorts": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port",
-
"properties": {
-
"port": 443,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_front_port"
-
}
-
],
-
"probes": [],
-
"backendAddressPools": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool",
-
"properties": {
-
"backendAddresses": [
-
{
-
"ipAddress": "10.0.0.4"
-
},
-
{
-
"ipAddress": "10.0.0.5"
-
}
-
],
-
"provisioningState": "Succeeded"
-
},
-
"name": "AG-BackEndAddressPool"
-
}
-
],
-
"backendHttpSettingsCollection": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings",
-
"properties": {
-
"port": 80,
-
"protocol": "Http",
-
"cookieBasedAffinity": "Enabled",
-
"requestTimeout": 30,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_settings"
-
}
-
],
-
"httpListeners": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener",
-
"properties": {
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config"
-
},
-
"frontendPort": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port"
-
},
-
"protocol": "Https",
-
"sslCertificate": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate"
-
},
-
"requireServerNameIndication": false,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_listener"
-
}
-
],
-
"urlPathMaps": [],
-
"requestRoutingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/requestRoutingRules/gateway_request_route_rule",
-
"properties": {
-
"ruleType": "Basic",
-
"backendAddressPool": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool"
-
},
-
"backendHttpSettings": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings"
-
},
-
"httpListener": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_request_route_rule"
-
}
-
],
-
"resourceGuid": "b3db5ebf-10f8-4666-9596-d1459530f64b",
-
"provisioningState": "Succeeded"
-
}
-
}'
-
gateway_mapper = Azure::ARM::Network::Models::ApplicationGateway.mapper
-
@network_client.deserialize(gateway_mapper, JSON.load(response), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Real class for Application Gateway Request
-
1
class Real
-
1
def list_application_gateways(resource_group)
-
2
msg = "Getting list of Application-Gateway from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
gateways = @network_client.application_gateways.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
gateways.value
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_application_gateways(_resource_group)
-
ag = Azure::ARM::Network::Models::ApplicationGateway.new
-
ag.name = 'fogtestgateway'
-
ag.location = 'East US'
-
[ag]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
1
class Real
-
1
def start_application_gateway(resource_group, name)
-
2
msg = "Starting Application Gateway #{name} in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
@network_client.application_gateways.start(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully started Application Gateway #{name} in Resource Group #{resource_group}"
-
1
true
-
end
-
end
-
-
1
class Mock
-
1
def start_application_gateway(*)
-
Fog::Logger.debug 'Successfully started Application Gateway {name} in Resource Group {resource_group}'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
1
class Real
-
1
def stop_application_gateway(resource_group, name)
-
2
msg = "Stopping Application Gateway #{name} in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
@network_client.application_gateways.stop(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully stopped Application Gateway #{name} in Resource Group #{resource_group}"
-
1
true
-
end
-
end
-
-
1
class Mock
-
1
def stop_application_gateway(*)
-
Fog::Logger.debug 'Successfully stopped Application Gateway {name} in Resource Group {resource_group}'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Real class for Application Gateway Request
-
1
class Real
-
1
def update_sku_attributes(gateway_params, sku_name, sku_capacity)
-
msg = "Updating sku attributes for #{sku_name}"
-
Fog::Logger.debug msg
-
gateway_params[:sku_name] = sku_name if sku_name
-
gateway_params[:sku_capacity] = sku_capacity if sku_capacity
-
begin
-
gateway = create_or_update_application_gateway(gateway_params)
-
rescue MsRestAzure::AzureOperationError => e
-
raise_azure_exception(e, msg)
-
end
-
Fog::Logger.debug "Sku #{sku_name} updated Successfully"
-
gateway
-
end
-
end
-
-
# Mock class for Application Gateway Request
-
1
class Mock
-
1
def update_sku_attributes(*)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module ApplicationGateway
-
1
class AzureRM
-
# Real class for Application Gateway Request
-
1
class Real
-
1
def update_subnet_id_in_gateway_ip_configuration(gateway_params, subnet_id)
-
msg = 'Updating Subnet id of IP Configuration'
-
Fog::Logger.debug msg
-
gateway_params[:gateway_ip_configurations].each do |ip_configuration|
-
ip_configuration[:subnet_id] = subnet_id
-
end
-
begin
-
gateway = create_or_update_application_gateway(gateway_params)
-
rescue MsRestAzure::AzureOperationError => e
-
raise_azure_exception(e, msg)
-
end
-
Fog::Logger.debug 'IP Configuration updated Successfully'
-
gateway
-
end
-
end
-
-
# Mock class for Application Gateway Request
-
1
class Mock
-
1
def update_subnet_id_in_gateway_ip_configuration(*)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def attach_data_disk_to_vm(resource_group, vm_name, disk_name, disk_size, storage_account_name)
-
6
msg = "Attaching Data Disk #{disk_name} to Virtual Machine #{vm_name} in Resource Group #{resource_group}"
-
6
Fog::Logger.debug msg
-
6
vm = get_virtual_machine_instance(resource_group, vm_name, @compute_mgmt_client)
-
5
lun = get_logical_unit_number(vm.storage_profile.data_disks)
-
4
access_key = get_storage_access_key(resource_group, storage_account_name, @storage_mgmt_client)
-
3
data_disk = get_data_disk_object(disk_name, disk_size, lun, storage_account_name, access_key)
-
3
vm.storage_profile.data_disks.push(data_disk)
-
3
vm.resources = nil
-
3
begin
-
3
virtual_machine = @compute_mgmt_client.virtual_machines.create_or_update(resource_group, vm_name, vm)
-
rescue MsRestAzure::AzureOperationError => e
-
2
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Data Disk #{disk_name} attached to Virtual Machine #{vm_name} successfully."
-
1
virtual_machine
-
end
-
-
1
private
-
-
1
def get_virtual_machine_instance(resource_group, vm_name, client)
-
8
msg = "Getting Virtual Machine #{vm_name} from Resource Group #{resource_group}"
-
8
Fog::Logger.debug msg
-
8
begin
-
8
virtual_machine = client.virtual_machines.get(resource_group, vm_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
7
Fog::Logger.debug "Getting Virtual Machine #{vm_name} from Resource Group #{resource_group} successful"
-
7
virtual_machine
-
end
-
-
1
def get_logical_unit_number(data_disks)
-
5
lun_range_list = (0..15).to_a
-
5
data_disks.each do |disk|
-
20
lun_range_list.delete(disk.lun)
-
end
-
-
5
if lun_range_list.empty?
-
1
msg = 'Error Attaching Data Disk to Virtual Machine. No slot available.'
-
1
raise msg
-
end
-
4
lun_range_list[0]
-
end
-
-
1
def get_storage_access_key(resource_group, storage_account_name, storage_client)
-
4
msg = "Getting Storage Access Keys from Resource Group #{resource_group}"
-
4
Fog::Logger.debug msg
-
4
begin
-
4
storage_account_keys = storage_client.storage_accounts.list_keys(resource_group, storage_account_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
3
Fog::Logger.debug "Getting Storage Access Keys from Resource Group #{resource_group} successful"
-
3
storage_account_keys.keys[0].value
-
end
-
-
1
def get_data_disk_object(disk_name, disk_size, lun, storage_account_name, access_key)
-
3
data_disk = Azure::ARM::Compute::Models::DataDisk.new
-
3
data_disk.name = disk_name
-
3
data_disk.lun = lun
-
3
data_disk.disk_size_gb = disk_size.to_s
-
3
data_disk.vhd = Azure::ARM::Compute::Models::VirtualHardDisk.new
-
3
data_disk.vhd.uri = "https://#{storage_account_name}.blob.core.windows.net/vhds/#{disk_name}.vhd"
-
3
data_disk.caching = Azure::ARM::Compute::Models::CachingTypes::ReadWrite
-
3
blob_name = "#{disk_name}.vhd"
-
3
disk_exist = check_blob_exist(storage_account_name, blob_name, access_key)
-
3
data_disk.create_option = Azure::ARM::Compute::Models::DiskCreateOptionTypes::Empty
-
3
data_disk.create_option = Azure::ARM::Compute::Models::DiskCreateOptionTypes::Attach if disk_exist
-
3
data_disk
-
end
-
-
1
def check_blob_exist(storage_account_name, blob_name, access_key)
-
client = Azure::Storage::Client.new(storage_account_name: storage_account_name, storage_access_key: access_key)
-
blob_service = Azure::Storage::Blob::BlobService.new(client: client)
-
begin
-
blob_prop = blob_service.get_blob_properties('vhds', blob_name)
-
true unless blob_prop.nil?
-
rescue Azure::Core::Http::HTTPError => e
-
return false if e.status_code == 404
-
raise_azure_exception(e, 'Checking blob existence')
-
end
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def attach_data_disk_to_vm(*)
-
vm = {
-
'location' => 'West US',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'type' => 'Microsoft.Compute/virtualMachines',
-
'properties' =>
-
{
-
'hardwareProfile' =>
-
{
-
'vmSize' => 'Basic_A0'
-
},
-
'storageProfile' =>
-
{
-
'imageReference' =>
-
{
-
'publisher' => 'Canonical',
-
'offer' => 'UbuntuServer',
-
'sku' => '14.04.2-LTS',
-
'version' => 'latest'
-
},
-
'osDisk' =>
-
{
-
'name' => 'fog-test-server_os_disk',
-
'vhd' =>
-
{
-
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
-
},
-
'createOption' => 'FromImage',
-
'osType' => 'Linux',
-
'caching' => 'ReadWrite'
-
},
-
'dataDisks' => [{
-
'lun' => 0,
-
'name' => 'fog-test-server_data_disk',
-
'vhd_uri' => 'https://confizrg7443.blob.core.windows.net/vhds/fog-test-server_data_disk.vhd',
-
'create_option' => 'empty',
-
'disk_size_gb' => 1
-
}]
-
},
-
'osProfile' =>
-
{
-
'computerName' => 'fog',
-
'adminUsername' => 'Fog=123',
-
'linuxConfiguration' =>
-
{
-
'disablePasswordAuthentication' => true
-
},
-
'secrets' => []
-
},
-
'networkProfile' =>
-
{
-
'networkInterfaces' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-vnet'
-
}
-
]
-
},
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
@compute_mgmt_client.deserialize(vm_mapper, vm, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def check_vm_status(resource_group, name)
-
2
msg = "Checking Virtual Machine #{name} status"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
virtual_machine = @compute_mgmt_client.virtual_machines.get(resource_group, name, 'instanceView')
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully returned status of Virtual Machine #{name} in Resource Group #{resource_group}"
-
1
get_status(virtual_machine)
-
end
-
-
1
def get_status(virtual_machine)
-
1
vm_statuses = virtual_machine.instance_view.statuses
-
1
vm_status = nil
-
1
vm_statuses.each do |status|
-
2
if status.code.include? 'PowerState'
-
1
Fog::Logger.debug status.display_status.to_s
-
1
vm_status = status.code.split('/')[1]
-
end
-
end
-
1
vm_status
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def check_vm_status(_resource_group, _name)
-
'running'
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def create_availability_set(resource_group, name, location)
-
2
msg = "Creating Availability Set '#{name}' in #{location} region."
-
2
Fog::Logger.debug msg
-
2
avail_set_params = get_availability_set_properties(location)
-
2
begin
-
2
availability_set = @compute_mgmt_client.availability_sets.create_or_update(resource_group, name, avail_set_params)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Availability Set #{name} created successfully."
-
1
availability_set
-
end
-
-
# create the properties object for creating availability sets
-
1
def get_availability_set_properties(location)
-
2
avail_set = Azure::ARM::Compute::Models::AvailabilitySet.new
-
2
avail_set.platform_fault_domain_count = FAULT_DOMAIN_COUNT
-
2
avail_set.platform_update_domain_count = UPDATE_DOMAIN_COUNT
-
2
avail_set.virtual_machines = []
-
2
avail_set.statuses = []
-
2
avail_set.location = location
-
2
avail_set
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def create_availability_set(resource_group, name, location)
-
{
-
'location' => location,
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Compute/availabilitySets/#{name}",
-
'name' => name,
-
'type' => 'Microsoft.Compute/availabilitySets',
-
'properties' =>
-
{
-
'platformUpdateDomainCount' => FAULT_DOMAIN_COUNT,
-
'platformFaultDomainCount' => FAULT_DOMAIN_COUNT
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# Real class for Compute Request
-
1
class Real
-
1
def create_or_update_vm_extension(vm_extension_params)
-
4
msg = "Creating/Updating Extension #{vm_extension_params[:name]} for Virtual Machine #{vm_extension_params[:vm_name]} in Resource Group #{vm_extension_params[:resource_group]}"
-
4
Fog::Logger.debug msg
-
-
4
vm_extension = create_virtual_machine_extension_object(vm_extension_params)
-
4
begin
-
4
vm_extension_obj = @compute_mgmt_client.virtual_machine_extensions.create_or_update(vm_extension_params[:resource_group], vm_extension_params[:vm_name], vm_extension_params[:name], vm_extension)
-
rescue MsRestAzure::AzureOperationError => e
-
2
raise_azure_exception(e, msg)
-
end
-
2
Fog::Logger.debug "Extension #{vm_extension.name} for Virtual Machine #{vm_extension_params[:vm_name]} in Resource Group #{vm_extension_params[:resource_group]} created/updated successfully"
-
2
vm_extension_obj
-
end
-
-
1
private
-
-
1
def create_virtual_machine_extension_object(virtual_machine_extension)
-
4
vm_extension = Azure::ARM::Compute::Models::VirtualMachineExtension.new
-
4
vm_extension.name = virtual_machine_extension[:name]
-
4
vm_extension.location = virtual_machine_extension[:location]
-
4
vm_extension.virtual_machine_extension_type = virtual_machine_extension[:type]
-
4
vm_extension.publisher = virtual_machine_extension[:publisher]
-
4
vm_extension.type_handler_version = virtual_machine_extension[:type_handler_version]
-
4
vm_extension.auto_upgrade_minor_version = virtual_machine_extension[:auto_upgrade_minor_version]
-
4
vm_extension.settings = virtual_machine_extension[:settings]
-
4
vm_extension.protected_settings = virtual_machine_extension[:protected_settings]
-
4
vm_extension
-
end
-
end
-
-
# Mock class for Compute Request
-
1
class Mock
-
1
def add_or_update_vm_extension(*)
-
body = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/TestRG/providers/Microsoft.Compute/virtualMachines/TestVM/extensions/IaaSAntimalware',
-
'name' => 'IaasAntimalware',
-
'resource_group' => 'fog-test-rg',
-
'location' => 'West US',
-
'properties' => {
-
'publisher' => 'Microsoft.Azure.Security',
-
'type' => 'IaaSAntimalware',
-
'typeHandlerVersion' => '1.3',
-
'autoUpgradeMinorVersion' => 'true',
-
'forceUpdateTag' => 'RerunExtension',
-
'settings' => {
-
'AnitmalwareEnabled' => 'true',
-
'RealtimeProtectionEnabled' => 'false'
-
},
-
'protected_settings' => {}
-
}
-
}
-
extension_mapper = Azure::ARM::Compute::Models::VirtualMachineExtension.mapper
-
@compute_mgmt_client.deserialize(extension_mapper, body, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
require 'base64'
-
1
WHITE_SPACE = ' '.freeze
-
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def create_virtual_machine(vm_hash)
-
7
msg = "Creating Virtual Machine #{vm_hash[:name]} in Resource Group #{vm_hash[:resource_group]}."
-
7
Fog::Logger.debug msg
-
7
virtual_machine = Azure::ARM::Compute::Models::VirtualMachine.new
-
-
7
unless vm_hash[:availability_set_id].nil?
-
7
sub_resource = MsRestAzure::SubResource.new
-
7
sub_resource.id = vm_hash[:availability_set_id]
-
7
virtual_machine.availability_set = sub_resource
-
end
-
-
7
string_data = vm_hash[:custom_data]
-
7
string_data = WHITE_SPACE if string_data.nil?
-
7
encoded_data = Base64.strict_encode64(string_data)
-
7
virtual_machine.hardware_profile = define_hardware_profile(vm_hash[:vm_size])
-
7
virtual_machine.storage_profile = define_storage_profile(vm_hash[:name],
-
vm_hash[:storage_account_name],
-
vm_hash[:publisher],
-
vm_hash[:offer],
-
vm_hash[:sku],
-
vm_hash[:version],
-
vm_hash[:vhd_path],
-
vm_hash[:platform],
-
vm_hash[:resource_group])
-
-
7
virtual_machine.os_profile = if vm_hash[:platform].casecmp(WINDOWS).zero?
-
3
define_windows_os_profile(vm_hash[:name],
-
vm_hash[:username],
-
vm_hash[:password],
-
vm_hash[:provision_vm_agent],
-
vm_hash[:enable_automatic_updates],
-
encoded_data)
-
else
-
4
define_linux_os_profile(vm_hash[:name],
-
vm_hash[:username],
-
vm_hash[:password],
-
vm_hash[:disable_password_authentication],
-
vm_hash[:ssh_key_path],
-
vm_hash[:ssh_key_data],
-
encoded_data)
-
end
-
7
virtual_machine.network_profile = define_network_profile(vm_hash[:network_interface_card_id])
-
7
virtual_machine.location = vm_hash[:location]
-
7
begin
-
7
vm = @compute_mgmt_client.virtual_machines.create_or_update(vm_hash[:resource_group], vm_hash[:name], virtual_machine)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
6
Fog::Logger.debug "Virtual Machine #{vm_hash[:name]} Created Successfully."
-
6
vm
-
end
-
-
1
private
-
-
1
def define_hardware_profile(vm_size)
-
7
hw_profile = Azure::ARM::Compute::Models::HardwareProfile.new
-
7
hw_profile.vm_size = vm_size
-
7
hw_profile
-
end
-
-
1
def image_reference(publisher, offer, sku, version)
-
5
image_reference = Azure::ARM::Compute::Models::ImageReference.new
-
5
image_reference.publisher = publisher
-
5
image_reference.offer = offer
-
5
image_reference.sku = sku
-
5
image_reference.version = version
-
5
image_reference
-
end
-
-
1
def define_storage_profile(vm_name, storage_account_name, publisher, offer, sku, version, vhd_path, platform, resource_group)
-
7
storage_profile = Azure::ARM::Compute::Models::StorageProfile.new
-
7
os_disk = Azure::ARM::Compute::Models::OSDisk.new
-
7
vhd = Azure::ARM::Compute::Models::VirtualHardDisk.new
-
-
7
vhd.uri = get_blob_link(storage_account_name) + "/vhds/#{vm_name}_os_disk.vhd"
-
-
7
if vhd_path.nil?
-
5
storage_profile.image_reference = image_reference(publisher, offer, sku, version)
-
else
-
# Copy if VHD does not exist belongs to same storage account.
-
2
vhd_storage_account = (vhd_path.split('/')[2]).split('.')[0]
-
2
if storage_account_name != vhd_storage_account
-
storage_account = @storage_service.storage_accounts.get(resource_group, storage_account_name)
-
access_key = storage_account.get_access_keys.first.value
-
storage_data = Fog::Storage::AzureRM.new(provider: 'AzureRM', azure_storage_account_name: storage_account_name, azure_storage_access_key: access_key)
-
new_time = get_time
-
container_name = "customvhd#{new_time}"
-
blob_name = "vhd_image#{new_time}.vhd"
-
storage_data.directories.create(
-
key: container_name
-
)
-
-
storage_data.copy_blob_from_uri(container_name, blob_name, vhd_path)
-
until storage_data.get_blob_properties(container_name, blob_name).properties[:copy_status] == 'success'
-
Fog::Logger.debug 'Waiting disk to ready'
-
sleep(10)
-
end
-
new_vhd_path = get_blob_link(storage_account_name) + "/#{container_name}/#{blob_name}"
-
Fog::Logger.debug "Path:#{new_vhd_path}. | Copy done"
-
else
-
2
new_vhd_path = vhd_path
-
end
-
-
2
img_vhd = Azure::ARM::Compute::Models::VirtualHardDisk.new
-
2
img_vhd.uri = new_vhd_path
-
2
os_disk.image = img_vhd
-
2
os_disk.os_type = platform
-
end
-
-
7
os_disk.name = "#{vm_name}_os_disk"
-
7
os_disk.vhd = vhd
-
7
os_disk.create_option = Azure::ARM::Compute::Models::DiskCreateOptionTypes::FromImage
-
7
storage_profile.os_disk = os_disk
-
7
storage_profile
-
end
-
-
1
def define_windows_os_profile(vm_name, username, password, provision_vm_agent, enable_automatic_updates, encoded_data)
-
3
os_profile = Azure::ARM::Compute::Models::OSProfile.new
-
3
windows_config = Azure::ARM::Compute::Models::WindowsConfiguration.new
-
3
windows_config.provision_vmagent = provision_vm_agent
-
3
windows_config.enable_automatic_updates = enable_automatic_updates
-
-
3
os_profile.windows_configuration = windows_config
-
3
os_profile.computer_name = vm_name
-
3
os_profile.admin_username = username
-
3
os_profile.admin_password = password
-
3
os_profile.custom_data = encoded_data
-
3
os_profile
-
end
-
-
1
def define_linux_os_profile(vm_name, username, password, disable_password_authentication, ssh_key_path, ssh_key_data, encoded_data)
-
4
os_profile = Azure::ARM::Compute::Models::OSProfile.new
-
4
linux_config = Azure::ARM::Compute::Models::LinuxConfiguration.new
-
-
4
unless ssh_key_path.nil? || ssh_key_data.nil?
-
4
ssh_config = Azure::ARM::Compute::Models::SshConfiguration.new
-
4
ssh_public_key = Azure::ARM::Compute::Models::SshPublicKey.new
-
4
ssh_public_key.path = ssh_key_path
-
4
ssh_public_key.key_data = ssh_key_data
-
4
ssh_config.public_keys = [ssh_public_key]
-
4
linux_config.ssh = ssh_config
-
end
-
-
4
linux_config.disable_password_authentication = disable_password_authentication
-
4
os_profile.linux_configuration = linux_config
-
4
os_profile.computer_name = vm_name
-
4
os_profile.admin_username = username
-
4
os_profile.admin_password = password
-
4
os_profile.custom_data = encoded_data
-
4
os_profile
-
end
-
-
1
def define_network_profile(network_interface_card_id)
-
7
network_profile = Azure::ARM::Compute::Models::NetworkProfile.new
-
7
nic = Azure::ARM::Compute::Models::NetworkInterfaceReference .new
-
7
nic.id = network_interface_card_id
-
7
network_profile.network_interfaces = [nic]
-
7
network_profile
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def create_virtual_machine(*)
-
vm = {
-
'location' => 'westus',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'type' => 'Microsoft.Compute/virtualMachines',
-
'properties' =>
-
{
-
'hardwareProfile' =>
-
{
-
'vmSize' => 'Standard_A0'
-
},
-
'storageProfile' =>
-
{
-
'imageReference' =>
-
{
-
'publisher' => 'MicrosoftWindowsServerEssentials',
-
'offer' => 'WindowsServerEssentials',
-
'sku' => 'WindowsServerEssentials',
-
'version' => 'latest'
-
},
-
'osDisk' =>
-
{
-
'name' => 'fog-test-server_os_disk',
-
'vhd' =>
-
{
-
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
-
},
-
'createOption' => 'FromImage',
-
'osType' => 'Linux',
-
'caching' => 'ReadWrite'
-
},
-
'dataDisks' => []
-
},
-
'osProfile' =>
-
{
-
'computerName' => 'fog-test-server',
-
'adminUsername' => 'fog',
-
'linuxConfiguration' =>
-
{
-
'disablePasswordAuthentication' => true
-
},
-
'secrets' => [],
-
'customData' => 'ZWNobyBjdXN0b21EYXRh'
-
},
-
'networkProfile' =>
-
{
-
'networkInterfaces' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-vnet'
-
}
-
]
-
},
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
@compute_mgmt_client.deserialize(vm_mapper, vm, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def deallocate_virtual_machine(resource_group, name)
-
2
msg = "Deallocating Virtual Machine #{name} in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.virtual_machines.deallocate(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Machine #{name} Deallocated Successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def deallocate_virtual_machine(*)
-
Fog::Logger.debug 'Virtual Machine fog-test-server from Resource group fog-test-rg Deallocated successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_availability_set(resource_group, name)
-
2
msg = "Deleting Availability Set: #{name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.availability_sets.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Availability Set #{name} deleted successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def delete_availability_set(resource_group, name)
-
Fog::Logger.debug "Availability Set #{name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_virtual_machine(resource_group, name)
-
2
msg = "Deleting Virtual Machine #{name} from Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.virtual_machines.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Machine #{name} Deleted Successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def delete_virtual_machine(*)
-
Fog::Logger.debug 'Virtual Machine fog-test-server from Resource group fog-test-rg deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# Real class for Compute Request
-
1
class Real
-
1
def delete_vm_extension(resource_group, vm_name, extension_name)
-
msg = "Deleting Extension #{extension_name} of Virtual Machine #{vm_name} in Resource Group #{resource_group}"
-
Fog::Logger.debug msg
-
begin
-
@compute_mgmt_client.virtual_machine_extensions.delete(resource_group, vm_name, extension_name)
-
rescue MsRestAzure::AzureOperationError => e
-
raise_azure_exception(e, msg)
-
end
-
Fog::Logger.debug "Extension #{extension_name} of Virtual Machine #{vm_name} in Resource Group #{resource_group} deleted successfully"
-
true
-
end
-
end
-
-
# Mock class for Compute Request
-
1
class Mock
-
1
def delete_vm_extension(*)
-
Fog::Logger.debug 'Extension extension_name of Virtual Machine vm_name in Resource Group resource_group deleted successfully'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def detach_data_disk_from_vm(resource_group, vm_name, disk_name)
-
2
msg = "Detaching Data Disk #{disk_name} from Virtual Machine #{vm_name} in Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
vm = get_virtual_machine_instance(resource_group, vm_name, @compute_mgmt_client)
-
2
vm.storage_profile.data_disks.each_with_index do |disk, index|
-
2
if disk.name == disk_name
-
2
vm.storage_profile.data_disks.delete_at(index)
-
end
-
end
-
2
vm.resources = nil
-
2
begin
-
2
virtual_machine = @compute_mgmt_client.virtual_machines.create_or_update(resource_group, vm_name, vm)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Data Disk #{disk_name} detached from Virtual Machine #{vm_name} successfully."
-
1
virtual_machine
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def detach_data_disk_from_vm(*)
-
vm = {
-
'location' => 'West US',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'type' => 'Microsoft.Compute/virtualMachines',
-
'properties' =>
-
{
-
'hardwareProfile' =>
-
{
-
'vmSize' => 'Basic_A0'
-
},
-
'storageProfile' =>
-
{
-
'imageReference' =>
-
{
-
'publisher' => 'Canonical',
-
'offer' => 'UbuntuServer',
-
'sku' => '14.04.2-LTS',
-
'version' => 'latest'
-
},
-
'osDisk' =>
-
{
-
'name' => 'fog-test-server_os_disk',
-
'vhd' =>
-
{
-
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
-
},
-
'createOption' => 'FromImage',
-
'osType' => 'Linux',
-
'caching' => 'ReadWrite'
-
},
-
'dataDisks' => [{
-
'lun' => 0,
-
'name' => 'fog-test-server_data_disk',
-
'vhd_uri' => 'https://confizrg7443.blob.core.windows.net/vhds/fog-test-server_data_disk.vhd',
-
'create_option' => 'empty',
-
'disk_size_gb' => 1
-
}]
-
},
-
'osProfile' =>
-
{
-
'computerName' => 'fog',
-
'adminUsername' => 'Fog=123',
-
'linuxConfiguration' =>
-
{
-
'disablePasswordAuthentication' => true
-
},
-
'secrets' => []
-
},
-
'networkProfile' =>
-
{
-
'networkInterfaces' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-vnet'
-
}
-
]
-
},
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
@compute_mgmt_client.deserialize(vm_mapper, vm, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def generalize_virtual_machine(resource_group, name)
-
2
msg = "Generalizing Virtual Machine #{name} in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.virtual_machines.generalize(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Machine #{name} Generalized Successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def generalize_virtual_machine(*)
-
Fog::Logger.debug 'Virtual Machine fog-test-server from Resource group fog-test-rg Generalized successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service call.
-
1
class Real
-
1
def get_availability_set(resource_group, name)
-
2
msg = "Listing Availability Set: #{name} in Resource Group: #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.availability_sets.get(resource_group, name)
-
1
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def get_availability_set(*)
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/'resource_group'/providers/Microsoft.Compute/virtualMachines/'name'",
-
'name' => 'name',
-
'type' => 'Microsoft.Compute/virtualMachines',
-
'location' => 'westus',
-
'@platform_update_domain_count' => UPDATE_DOMAIN_COUNT,
-
'@platform_fault_domain_count' => FAULT_DOMAIN_COUNT,
-
'@virtual_machines' => []
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_virtual_machine(resource_group, name)
-
2
msg = "Getting Virtual Machine #{name} from Resource Group '#{resource_group}'"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
virtual_machine = @compute_mgmt_client.virtual_machines.get(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Getting Virtual Machine #{name} from Resource Group '#{resource_group}' successful"
-
1
virtual_machine
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def get_virtual_machine(*)
-
vm = {
-
'location' => 'westus',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'type' => 'Microsoft.Compute/virtualMachines',
-
'properties' =>
-
{
-
'hardwareProfile' =>
-
{
-
'vmSize' => 'Basic_A0'
-
},
-
'storageProfile' =>
-
{
-
'imageReference' =>
-
{
-
'publisher' => 'Canonical',
-
'offer' => 'UbuntuServer',
-
'sku' => '14.04.2-LTS',
-
'version' => 'latest'
-
},
-
'osDisk' =>
-
{
-
'name' => 'fog-test-server_os_disk',
-
'vhd' =>
-
{
-
'uri' => 'http://fogtestsafirst.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
-
},
-
'createOption' => 'FromImage',
-
'osType' => 'Linux',
-
'caching' => 'ReadWrite'
-
},
-
'dataDisks' => []
-
},
-
'osProfile' =>
-
{
-
'computerName' => 'fog',
-
'adminUsername' => 'testfog',
-
'linuxConfiguration' =>
-
{
-
'disablePasswordAuthentication' => false
-
},
-
'secrets' => []
-
},
-
'networkProfile' =>
-
{
-
'networkInterfaces' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-vnet'
-
}
-
]
-
},
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
@compute_mgmt_client.deserialize(vm_mapper, vm, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# Real class for Compute Request
-
1
class Real
-
1
def get_vm_extension(resource_group_name, virtual_machine_name, vm_extension_name)
-
2
msg = "Getting Extension #{vm_extension_name} of Virtual Machine #{virtual_machine_name} in Resource Group #{resource_group_name}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
vm_extension = @compute_mgmt_client.virtual_machine_extensions.get(resource_group_name, virtual_machine_name, vm_extension_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "#{msg} successful"
-
1
vm_extension
-
end
-
end
-
-
# Mock class for Compute Request
-
1
class Mock
-
1
def get_vm_extension(*)
-
body = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/TestRG/providers/Microsoft.Compute/virtualMachines/TestVM/extensions/IaaSAntimalware',
-
'name' => 'IaasAntimalware',
-
'resource_group' => 'fog-test-rg',
-
'location' => 'West US',
-
'properties' => {
-
'publisher' => 'Microsoft.Azure.Security',
-
'type' => 'IaaSAntimalware',
-
'typeHandlerVersion' => '1.3',
-
'autoUpgradeMinorVersion' => 'true',
-
'forceUpdateTag' => 'RerunExtension',
-
'settings' => {
-
'AnitmalwareEnabled' => 'true',
-
'RealtimeProtectionEnabled' => 'false'
-
},
-
'protected_settings' => {}
-
}
-
}
-
extension_mapper = Azure::ARM::Compute::Models::VirtualMachineExtension.mapper
-
@compute_mgmt_client.deserialize(extension_mapper, body, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_availability_sets(resource_group)
-
2
msg = "Listing Availability Sets in Resource Group: #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
avail_sets = @compute_mgmt_client.availability_sets.list(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Listing Availability Sets in Resource Group: #{resource_group} successful."
-
1
avail_sets.value
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_availability_sets(resource_group)
-
[
-
{
-
'id' => "/subscriptions/{subscription-id}/resourceGroups/#{resource_group}/providers/Microsoft.Compute/availabilitySets/test_availability_set",
-
'name' => 'test_availability_set',
-
'type' => 'Microsoft.Compute/availabilitySets',
-
'location' => 'westus',
-
'tags' => {},
-
'properties' =>
-
{
-
'platformUpdateDomainCount' => 5,
-
'platformFaultDomainCount' => 3,
-
'virtualMachines' => []
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_available_sizes_for_virtual_machine(resource_group, name)
-
2
msg = "Listing sizes for Virtual Machine #{name} in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
vm_sizes = @compute_mgmt_client.virtual_machines.list_available_sizes(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully listed sizes for Virtual Machine #{name} in Resource Group #{resource_group}"
-
1
vm_sizes.value
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_available_sizes_for_virtual_machine(*)
-
vm_sizes =
-
{
-
'value' => [
-
{
-
'name' => 'Standard_A0',
-
'numberOfCores' => 1,
-
'osDiskSizeInMB' => 1_047_552,
-
'resourceDiskSizeInMB' => 20_480,
-
'memoryInMB' => 768,
-
'maxDataDiskCount' => 1
-
},
-
{
-
'name' => 'Standard_A1',
-
'numberOfCores' => 1,
-
'osDiskSizeInMB' => 1_047_552,
-
'resourceDiskSizeInMB' => 71_680,
-
'memoryInMB' => 1792,
-
'maxDataDiskCount' => 2
-
},
-
{
-
'name' => 'Standard_A2',
-
'numberOfCores' => 2,
-
'osDiskSizeInMB' => 1_047_552,
-
'resourceDiskSizeInMB' => 138_240,
-
'memoryInMB' => 3584,
-
'maxDataDiskCount' => 4
-
}
-
]
-
}
-
vm_mapper = Azure::ARM::Compute::Models::VirtualMachineSizeListResult.mapper
-
@compute_mgmt_client.deserialize(vm_mapper, vm_sizes, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_virtual_machines(resource_group)
-
2
msg = "Listing Virtual Machines in Resource Group '#{resource_group}'"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
virtual_machines = @compute_mgmt_client.virtual_machines.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "listing Virtual Machines in Resource Group '#{resource_group}' successful"
-
1
virtual_machines.value
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_virtual_machines(*)
-
vms = {
-
'value' => [
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'location' => 'West US',
-
'properties' => {
-
'hardwareProfile' => {
-
'vmSize' => 'Basic_A0'
-
},
-
'storageProfile' => {
-
'imageReference' => {
-
'publisher' => 'Canonical',
-
'offer' => 'UbuntuServer',
-
'sku' => '14.04.2-LTS',
-
'version' => 'latest'
-
},
-
'osDisk' => {
-
'name' => 'fog-test-server_os_disk',
-
'vhd' => {
-
'uri' => 'http://storageAccount.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
-
}
-
}
-
},
-
'osProfile' => {
-
'computerName' => 'fog-test-server',
-
'adminUsername' => 'shaffan',
-
'linuxConfiguration' => {
-
'disablePasswordAuthentication' => false
-
}
-
},
-
'networkProfile' => {
-
'networkInterfaces' => [
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-vnet'
-
}
-
]
-
}
-
}
-
}
-
]
-
}
-
vm_mapper = Azure::ARM::Compute::Models::VirtualMachineListResult.mapper
-
@compute_mgmt_client.deserialize(vm_mapper, vms, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def power_off_virtual_machine(resource_group, name)
-
2
msg = "Powering off Virtual Machine #{name} in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.virtual_machines.power_off(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Machine #{name} Powered off Successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def power_off_virtual_machine(*)
-
Fog::Logger.debug 'Virtual Machine fog-test-server from Resource group fog-test-rg Powered off successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def redeploy_virtual_machine(resource_group, name)
-
2
msg = "Redeploying Virtual Machine #{name} in Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.virtual_machines.redeploy(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Machine #{name} Redeployed Successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def redeploy_virtual_machine(*)
-
Fog::Logger.debug 'Virtual Machine fog-test-server from Resource group fog-test-rg Redeployed successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def restart_virtual_machine(resource_group, name)
-
2
msg = "Restarting Virtual Machine #{name} in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.virtual_machines.restart(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Machine #{name} Restarted Successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def restart_virtual_machine(*)
-
Fog::Logger.debug 'Virtual Machine fog-test-server from Resource group fog-test-rg Restarted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Compute
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def start_virtual_machine(resource_group, name)
-
2
msg = "Starting Virtual Machine #{name} in Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@compute_mgmt_client.virtual_machines.start(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Machine #{name} started Successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def start_virtual_machine(*)
-
Fog::Logger.debug 'Virtual Machine fog-test-server from Resource group fog-test-rg started successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def check_for_zone(resource_group, name)
-
2
msg = "Getting Zone #{name} from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
zone = @dns_client.zones.get(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
!zone.nil?
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def check_for_zone(*)
-
Fog::Logger.debug 'Zone name name is available.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def create_or_update_record_set(record_set_params, type)
-
3
msg = "Creating/updating Recordset #{record_set_params[:name]} in Resource Group: #{record_set_params[:resource_group]}."
-
3
Fog::Logger.debug msg
-
3
recordset_object = get_record_set_object(record_set_params, type)
-
3
begin
-
3
record_set = @dns_client.record_sets.create_or_update(record_set_params[:resource_group], record_set_params[:zone_name], record_set_params[:name], type, recordset_object)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
2
Fog::Logger.debug "Record Set #{record_set_params[:name]} created/updated successfully."
-
2
record_set
-
end
-
-
1
private
-
-
1
def get_record_set_object(record_set_params, type)
-
3
record_set = Azure::ARM::Dns::Models::RecordSet.new
-
3
record_set.name = record_set_params[:name]
-
3
record_set.type = type
-
3
record_set.ttl = record_set_params[:ttl]
-
3
record_set.etag = record_set_params[:etag]
-
3
case type
-
when 'A'
-
1
a_type_records_array = []
-
1
record_set_params[:records].each do |ip|
-
2
a_record = Azure::ARM::Dns::Models::ARecord.new
-
2
a_record.ipv4address = ip
-
2
a_type_records_array.push(a_record)
-
end
-
1
record_set.arecords = a_type_records_array
-
when 'CNAME'
-
2
record_set.cname_record = record_set_params[:records].first # because cname only has 1 value and we know the object is an array passed in.
-
end
-
-
3
record_set
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def create_or_update_record_set(*)
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/resource_group/providers/Microsoft.Network/dnszones/zone_name/record_type/name',
-
'name' => 'name',
-
'type' => 'Microsoft.Network/dnszones/record_type',
-
'etag' => '7f159cb1-653d-4920-bc03-153c700412a2',
-
'location' => 'global',
-
'tags' => {},
-
'properties' =>
-
{
-
'metadata' => {},
-
'fqdn' => 'name.zone_name',
-
'TTL' => 10,
-
'ARecords' =>
-
[
-
{
-
'ipv4Address' => '10.1.2.0'
-
}
-
]
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def create_or_update_zone(zone_params)
-
2
msg = "Creating/updating Zone #{zone_params[:name]} in Resource Group: #{zone_params[:resource_group]}."
-
2
Fog::Logger.debug msg
-
2
zone_object = get_zone_object(zone_params)
-
2
begin
-
2
zone = @dns_client.zones.create_or_update(zone_params[:resource_group], zone_params[:name], zone_object)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Zone #{zone_params[:name]} created/updated successfully."
-
1
zone
-
end
-
-
1
private
-
-
1
def get_zone_object(zone_params)
-
2
zone = Azure::ARM::Dns::Models::Zone.new
-
2
zone.name = zone_params[:name]
-
2
zone.location = zone_params[:location]
-
2
zone.type = zone_params[:type]
-
2
zone.number_of_record_sets = zone_params[:number_of_record_sets]
-
2
zone.max_number_of_record_sets = zone_params[:max_number_of_record_sets]
-
2
zone.tags = zone_params[:tags] if zone.tags.nil?
-
2
zone.etag = zone_params[:etag]
-
-
2
zone
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def create_or_update_zone(*)
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/resource_group/providers/Microsoft.Network/dnszones/name',
-
'name' => name,
-
'type' => 'Microsoft.Network/dnszones',
-
'etag' => '00000002-0000-0000-76c2-f7ad90b5d101',
-
'location' => 'global',
-
'tags' => {},
-
'properties' =>
-
{
-
'maxNumberOfRecordSets' => 5000,
-
'nameServers' => %w(ns1-05.azure-dns.com. ns2-05.azure-dns.net. ns3-05.azure-dns.org. ns4-05.azure-dns.info.),
-
'numberOfRecordSets' => 2,
-
'parentResourceGroupName' => resource_group
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def delete_record_set(resource_group, name, zone_name, record_type)
-
2
msg = "Deleting Record Set #{name} from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@dns_client.record_sets.delete(resource_group, zone_name, name, record_type)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Record Set #{name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def delete_record_set(*)
-
Fog::Logger.debug 'Record Set name deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def delete_zone(resource_group, name)
-
2
msg = "Deleting Zone #{name} from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@dns_client.zones.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Zone #{name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def delete_zone(*)
-
Fog::Logger.debug 'Zone deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def get_record_set(resource_group, name, zone_name, record_type)
-
2
msg = "Getting Record Set #{name} from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
record_set = @dns_client.record_sets.get(resource_group, zone_name, name, record_type)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
record_set
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def get_record_set(*)
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/resource_group/providers/Microsoft.Network/dnszones/zone_name/record_type/name',
-
'name' => 'name',
-
'type' => 'Microsoft.Network/dnszones/record_type',
-
'etag' => '3376a38f-a53f-4ed0-a2e7-dfaba67dbb40',
-
'location' => 'global',
-
'properties' =>
-
{
-
'metadata' => nil,
-
'fqdn' => 'name.zone_name',
-
'TTL' => 60,
-
'ARecords' =>
-
[
-
{
-
'ipv4Address' => '1.2.3.4'
-
},
-
{
-
'ipv4Address' => '1.2.3.3'
-
}
-
]
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def get_records_from_record_set(resource_group, name, zone_name, record_type)
-
3
msg = "Getting all records from RecordSet #{name} of type '#{record_type}' in zone #{zone_name}"
-
3
Fog::Logger.debug msg
-
3
begin
-
3
record_set = @dns_client.record_sets.get(resource_group, zone_name, name, record_type)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
2
case record_type
-
when 'A'
-
1
record_set.arecords
-
when 'CNAME'
-
1
record_set.cname_record
-
end
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def get_records_from_record_set(*)
-
%w(1.2.3.4 1.2.3.5 1.2.3.6)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def get_zone(resource_group, name)
-
2
msg = "Getting Zone #{name} from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
zone = @dns_client.zones.get(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
zone
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def get_zone(*)
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/resource_group/providers/Microsoft.Network/dnszones/zone_name',
-
'name' => 'zone_name',
-
'type' => 'Microsoft.Network/dnszones',
-
'etag' => '00000003-0000-0000-bd66-02b337a4d101',
-
'location' => 'global',
-
'tags' => {},
-
'properties' =>
-
{
-
'maxNumberOfRecordSets' => 100_00,
-
'nameServers' => nil,
-
'numberOfRecordSets' => 2,
-
'parentResourceGroupName' => 'resource_group'
-
},
-
'resource_group' => 'resource_group'
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def list_record_sets(resource_group, zone_name)
-
2
msg = 'Getting list of Record sets.'
-
2
Fog::Logger.debug msg
-
2
begin
-
2
zones = @dns_client.record_sets.list_all_in_resource_group(resource_group, zone_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
zones
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def list_record_sets(*)
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/resource_group/providers/Microsoft.Network/dnszones/zone_name/A/test_record',
-
'name' => 'test_record',
-
'type' => 'Microsoft.Network/dnszones/A',
-
'etag' => '7f159cb1-653d-4920-bc03-153c700412a2',
-
'location' => 'global',
-
'properties' =>
-
{
-
'metadata' => nil,
-
'fqdn' => 'test_record.zone_name',
-
'TTL' => 60,
-
'ARecords' =>
-
[
-
{
-
'ipv4Address' => '1.2.3.4'
-
}
-
]
-
}
-
},
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/resource_group/providers/Microsoft.Network/dnszones/zone_name/CNAME/test_record1',
-
'name' => 'test_record1',
-
'type' => 'Microsoft.Network/dnszones/CNAME',
-
'etag' => 'cc5ceb6e-16ad-4a5f-bbd7-9bc31c12d0cf',
-
'location' => 'global',
-
'properties' =>
-
{
-
'metadata' => nil,
-
'fqdn' => 'test_record1.zone_name',
-
'TTL' => 60,
-
'CNAMERecord' =>
-
{
-
'cname' => '1.2.3.4'
-
}
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module DNS
-
1
class AzureRM
-
# Real class for DNS Request
-
1
class Real
-
1
def list_zones
-
2
msg = 'Getting list of Zones.'
-
2
Fog::Logger.debug msg
-
2
begin
-
2
zones = @dns_client.zones.list_in_subscription
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
zones
-
end
-
-
1
private
-
-
1
def list_zones_by_rg(resource_group)
-
msg = "Getting list of Zones in Resource Group #{resource_group}."
-
Fog::Logger.debug msg
-
begin
-
zones = @dns_client.zones.list_in_resource_group(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
raise_azure_exception(e, msg)
-
end
-
zones
-
end
-
end
-
-
# Mock class for DNS Request
-
1
class Mock
-
1
def list_zones
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog_test_rg/providers/Microsoft.Network/dnszones/testfog1.com',
-
'name' => 'testfog1.com',
-
'type' => 'Microsoft.Network/dnszones',
-
'etag' => '00000002-0000-0000-76c2-f7ad90b5d101',
-
'location' => 'global',
-
'tags' => {},
-
'properties' =>
-
{
-
'maxNumberOfRecordSets' => 5000,
-
'nameServers' =>
-
%w(ns1-05.azure-dns.com. ns2-05.azure-dns.net. ns3-05.azure-dns.org. ns4-05.azure-dns.info.),
-
'numberOfRecordSets' => 2,
-
'parentResourceGroupName' => 'fog_test_rg'
-
}
-
},
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog_test_rg/providers/Microsoft.Network/dnszones/testfog.com',
-
'name' => 'testfog.com',
-
'type' => 'Microsoft.Network/dnszones',
-
'etag' => '00000002-0000-0000-4215-c21c8fb5d101',
-
'location' => 'global',
-
'tags' => {},
-
'properties' =>
-
{
-
'maxNumberOfRecordSets' => 5000,
-
'nameServers' =>
-
%w(ns1-02.azure-dns.com. ns2-02.azure-dns.net. ns3-02.azure-dns.org. ns4-02.azure-dns.info.),
-
'numberOfRecordSets' => 2,
-
'parentResourceGroupName' => 'fog_test_rg'
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def add_address_prefixes_in_virtual_network(resource_group_name, virtual_network_name, address_prefixes)
-
2
Fog::Logger.debug "Adding Address Prefixes: #{address_prefixes.join(', ')} in Virtual Network: #{virtual_network_name}"
-
2
virtual_network = get_virtual_network_object_for_add_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes)
-
1
virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
-
1
Fog::Logger.debug "Address Prefixes: #{address_prefixes.join(', ')} added successfully."
-
1
virtual_network
-
end
-
-
1
private
-
-
1
def get_virtual_network_object_for_add_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes)
-
2
virtual_network = get_vnet(resource_group_name, virtual_network_name)
-
1
attached_address_prefixes = virtual_network.address_space.address_prefixes
-
1
virtual_network.address_space.address_prefixes = attached_address_prefixes | address_prefixes
-
1
virtual_network
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def add_address_prefixes_in_virtual_network(*)
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet',
-
'name' => 'fog-vnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
[
-
'10.1.0.0/16',
-
'10.2.0.0/16'
-
]
-
},
-
'dhcpOptions' => {
-
'dnsServers' => [
-
'10.1.0.5',
-
'10.1.0.6'
-
]
-
},
-
'subnets' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def add_dns_servers_in_virtual_network(resource_group_name, virtual_network_name, dns_servers)
-
2
Fog::Logger.debug "Adding DNS Servers: #{dns_servers.join(', ')} in Virtual Network: #{virtual_network_name}"
-
2
virtual_network = get_virtual_network_object_for_add_dns!(resource_group_name, virtual_network_name, dns_servers)
-
1
virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
-
1
Fog::Logger.debug "DNS Servers: #{dns_servers.join(', ')} added successfully."
-
1
virtual_network
-
end
-
-
1
private
-
-
1
def get_virtual_network_object_for_add_dns!(resource_group_name, virtual_network_name, dns_servers)
-
2
virtual_network = get_vnet(resource_group_name, virtual_network_name)
-
1
if virtual_network.dhcp_options.nil?
-
dhcp_options = Azure::ARM::Network::Models::DhcpOptions.new
-
dhcp_options.dns_servers = dns_servers
-
virtual_network.dhcp_options = dhcp_options
-
else
-
1
attached_servers = virtual_network.dhcp_options.dns_servers
-
1
virtual_network.dhcp_options.dns_servers = attached_servers | dns_servers
-
end
-
1
virtual_network
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def add_dns_servers_in_virtual_network(*)
-
virtual_network = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet',
-
'name' => 'fog-vnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
[
-
'10.1.0.0/16',
-
'10.2.0.0/16'
-
]
-
},
-
'dhcpOptions' => {
-
'dnsServers' => [
-
'10.1.0.5',
-
'10.1.0.6'
-
]
-
},
-
'subnets' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
@network_client.deserialize(vnet_mapper, virtual_network, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def add_security_rules(resource_group_name, security_group_name, security_rules)
-
2
msg = "Updating security rules in Network Security Group #{security_group_name}."
-
2
Fog::Logger.debug msg
-
-
2
nsg = @network_client.network_security_groups.get(resource_group_name, security_group_name)
-
1
security_rules_objects = get_security_rule_objects(security_rules)
-
-
1
security_rules_objects.each do |security_rule|
-
1
nsg.security_rules.push(security_rule)
-
end
-
-
1
begin
-
1
nsg = @network_client.network_security_groups.begin_create_or_update(resource_group_name, security_group_name, nsg)
-
rescue MsRestAzure::AzureOperationError => e
-
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Security Rules updated in Network Security Group #{security_group_name} successfully!"
-
1
nsg
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def add_security_rules(resource_group_name, security_group_name, security_rules)
-
network_security_group = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}",
-
'name' => security_group_name,
-
'type' => 'Microsoft.Network/networkSecurityGroups',
-
'location' => 'location',
-
'properties' =>
-
{
-
'securityRules' => security_rules,
-
'defaultSecurityRules' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowVnetInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowVnetInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowAzureLoadBalancerInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'AzureLoadBalancer',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from azure load balancer',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowAzureLoadBalancerInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/DenyAllInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Inbound',
-
'description' => 'Deny all inbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'DenyAllInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowVnetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowVnetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowInternetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => 'Internet',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to Internet',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowInternetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/DenyAllOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Outbound',
-
'description' => 'Deny all outbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'DenyAllOutBound'
-
}
-
],
-
'resourceGuid' => '9dca97e6-4789-4ebd-86e3-52b8b0da6cd4',
-
'provisioningState' => 'Updating'
-
}
-
}
-
nsg_mapper = Azure::ARM::Network::Models::NetworkSecurityGroup.mapper
-
@network_client.deserialize(nsg_mapper, network_security_group, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def add_subnets_in_virtual_network(resource_group_name, virtual_network_name, subnets)
-
2
Fog::Logger.debug "Adding Subnets: in Virtual Network: #{virtual_network_name}"
-
2
virtual_network = get_virtual_network_object_for_subnets!(resource_group_name, virtual_network_name, subnets)
-
1
virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
-
1
Fog::Logger.debug 'Subnets added successfully.'
-
1
virtual_network
-
end
-
-
1
private
-
-
1
def get_virtual_network_object_for_subnets!(resource_group_name, virtual_network_name, subnets)
-
2
virtual_network = get_vnet(resource_group_name, virtual_network_name)
-
1
subnet_objects = define_subnet_objects(subnets)
-
1
old_subnet_objects = virtual_network.subnets
-
1
virtual_network.subnets = subnet_objects + old_subnet_objects
-
1
virtual_network
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def add_subnets_in_virtual_network(*)
-
virtual_network = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet',
-
'name' => 'fog-vnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
[
-
'10.1.0.0/16',
-
'10.2.0.0/16'
-
]
-
},
-
'dhcpOptions' => {
-
'dnsServers' => [
-
'10.1.0.5',
-
'10.1.0.6'
-
]
-
},
-
'subnets' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
@network_client.deserialize(vnet_mapper, virtual_network, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def attach_network_security_group_to_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, route_table_id, network_security_group_id)
-
2
msg = "Attaching Network Security Group with Subnet: #{subnet_name}"
-
2
Fog::Logger.debug msg
-
2
subnet = get_subnet_object_for_attach_network_security_group(address_prefix, network_security_group_id, route_table_id)
-
2
begin
-
2
subnet_obj = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug 'Network Security Group attached to Subnet #{subnet_name} successfully.'
-
1
subnet_obj
-
end
-
-
1
private
-
-
1
def get_subnet_object_for_attach_network_security_group(address_prefix, network_security_group_id, route_table_id)
-
2
subnet = Azure::ARM::Network::Models::Subnet.new
-
2
network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
-
2
route_table = Azure::ARM::Network::Models::RouteTable.new
-
-
2
network_security_group.id = network_security_group_id
-
2
route_table.id = route_table_id
-
-
2
subnet.address_prefix = address_prefix
-
2
subnet.route_table = route_table unless route_table_id.nil?
-
2
subnet.network_security_group = network_security_group
-
2
subnet
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def attach_network_security_group_to_subnet(*)
-
subnet = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'networkSecurityGroup' => {
-
'id' => '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1'
-
},
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
subnet_mapper = Azure::ARM::Network::Models::Subnet.mapper
-
@network_client.deserialize(subnet_mapper, subnet, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def attach_resource_to_nic(resource_group_name, nic_name, resource_type, resource_id)
-
4
msg = "Updating #{resource_type} in Network Interface #{nic_name}"
-
4
Fog::Logger.debug msg
-
4
begin
-
4
nic = get_network_interface_with_attached_resource(nic_name, resource_group_name, resource_id, resource_type)
-
3
network_interface = @network_client.network_interfaces.create_or_update(resource_group_name, nic_name, nic)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
3
Fog::Logger.debug "#{resource_type} updated in Network Interface #{nic_name} successfully!"
-
3
network_interface
-
end
-
-
1
private
-
-
1
def get_network_interface_with_attached_resource(nic_name, resource_group_name, resource_id, resource_type)
-
4
network_interface = @network_client.network_interfaces.get(resource_group_name, nic_name)
-
-
3
case resource_type
-
when SUBNET
-
1
subnet = Azure::ARM::Network::Models::Subnet.new
-
1
subnet.id = resource_id
-
1
network_interface.ip_configurations[0].subnet = subnet
-
when PUBLIC_IP
-
1
public_ip_address = Azure::ARM::Network::Models::PublicIPAddress.new
-
1
public_ip_address.id = resource_id
-
1
network_interface.ip_configurations[0].public_ipaddress = public_ip_address
-
when NETWORK_SECURITY_GROUP
-
1
network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
-
1
network_security_group.id = resource_id
-
1
network_interface.network_security_group = network_security_group
-
end
-
3
network_interface
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def attach_resource_to_nic(resource_group_name, nic_name, _resource_type, _resource_id)
-
nic = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkInterfaces/#{nic_name}",
-
'name' => nic_name,
-
'type' => 'Microsoft.Network/networkInterfaces',
-
'location' => location,
-
'properties' =>
-
{
-
'ipConfigurations' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkInterfaces/#{nic_name}/ipConfigurations/#{ip_configs_name}",
-
'properties' =>
-
{
-
'privateIPAddress' => '10.0.0.5',
-
'privateIPAllocationMethod' => prv_ip_alloc_method,
-
'subnet' =>
-
{
-
'id' => subnet_id
-
},
-
'publicIPAddress' =>
-
{
-
'id' => public_ip_address_id
-
},
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => ip_configs_name
-
}
-
],
-
'dnsSettings' =>
-
{
-
'dnsServers' => [],
-
'appliedDnsServers' => []
-
},
-
'enableIPForwarding' => false,
-
'resourceGuid' => '2bff0fad-623b-4773-82b8-dc875f3aacd2',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterface.mapper
-
@network_client.deserialize(network_interface_mapper, nic, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def attach_route_table_to_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id, route_table_id)
-
2
msg = "Attaching Route Table to Subnet: #{subnet_name}"
-
2
Fog::Logger.debug msg
-
2
subnet = get_subnet_object_for_attach_route_table(address_prefix, network_security_group_id, route_table_id)
-
2
begin
-
2
subnet_obj = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug 'Route Table attached to Subnet #{subnet_name} successfully.'
-
1
subnet_obj
-
end
-
-
1
private
-
-
1
def get_subnet_object_for_attach_route_table(address_prefix, network_security_group_id, route_table_id)
-
2
subnet = Azure::ARM::Network::Models::Subnet.new
-
2
network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
-
2
route_table = Azure::ARM::Network::Models::RouteTable.new
-
-
2
network_security_group.id = network_security_group_id
-
2
route_table.id = route_table_id
-
-
2
subnet.address_prefix = address_prefix
-
2
subnet.network_security_group = network_security_group unless network_security_group_id.nil?
-
2
subnet.route_table = route_table
-
2
subnet
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def attach_route_table_to_subnet(*)
-
subnet = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'routeTable' => {
-
'id' => '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/myRT1'
-
},
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
subnet_mapper = Azure::ARM::Network::Models::Subnet.mapper
-
@network_client.deserialize(subnet_mapper, subnet, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Mock class for Network Request
-
1
class Real
-
1
def check_for_public_ip(resource_group, name)
-
3
begin
-
3
@network_client.public_ipaddresses.get(resource_group, name)
-
1
return true
-
2
rescue MsRestAzure::AzureOperationError => e
-
2
raise_azure_exception(e, "Checking Public IP #{name}") if e.body['error']['code'] == 'ResourceGroupNotFound'
-
1
return false if e.body['error']['code'] == 'ResourceNotFound'
-
end
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def check_for_public_ip(resource_group, name)
-
Fog::Logger.debug "Public IP #{name} from Resource group #{resource_group} is available."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Mock class for Network Request
-
1
class Real
-
1
def check_for_virtual_network(resource_group, name)
-
3
msg = "Finding Virtual Network #{name}"
-
3
Fog::Logger.debug msg
-
3
begin
-
3
@network_client.virtual_networks.get(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
2
raise_azure_exception(e, msg) if e.body['error']['code'] == 'ResourceGroupNotFound'
-
1
return false if e.body['error']['code'] == 'ResourceNotFound'
-
end
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def check_for_virtual_network(resource_group, name)
-
Fog::Logger.debug "Virtual Network #{name} from Resource group #{resource_group} is available."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Load-Balancer Request
-
1
class Real
-
1
def create_load_balancer(name, location, resource_group, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools)
-
2
msg = "Creating Load-Balancer: #{name}"
-
2
Fog::Logger.debug msg
-
2
load_balancer = define_load_balancer(name, location, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools)
-
2
begin
-
2
load_balancer = @network_client.load_balancers.create_or_update(resource_group, name, load_balancer)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Load-Balancer #{name} created successfully."
-
1
load_balancer
-
end
-
-
1
private
-
-
1
def define_load_balancer(name, location, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools)
-
2
load_balancer = Azure::ARM::Network::Models::LoadBalancer.new
-
2
load_balancer.name = name
-
2
load_balancer.location = location
-
-
2
if frontend_ip_configurations
-
2
frontend_ip_configuration_arr = define_lb_frontend_ip_configurations(frontend_ip_configurations)
-
2
load_balancer.frontend_ipconfigurations = frontend_ip_configuration_arr
-
end
-
-
2
if backend_address_pool_names
-
2
load_balancer.backend_address_pools = []
-
2
backend_address_pool_names.each do |bap|
-
4
backend_pool = Azure::ARM::Network::Models::BackendAddressPool.new
-
4
backend_pool.name = bap
-
4
load_balancer.backend_address_pools.push(backend_pool)
-
end
-
end
-
-
2
if load_balancing_rules
-
2
load_balancing_rule_arr = define_load_balancing_rule(load_balancing_rules)
-
2
load_balancer.load_balancing_rules = load_balancing_rule_arr
-
end
-
-
2
if probes
-
2
probe_arr = define_probe(probes)
-
2
load_balancer.probes = probe_arr
-
end
-
-
2
if inbound_nat_rules
-
2
inbound_nat_rule_arr = define_inbound_nat_rule(inbound_nat_rules)
-
2
load_balancer.inbound_nat_rules = inbound_nat_rule_arr
-
end
-
-
2
if inbound_nat_pools
-
2
inbound_nat_pool_arr = define_inbound_nat_pool(inbound_nat_pools)
-
2
load_balancer.inbound_nat_pools = inbound_nat_pool_arr
-
end
-
-
2
load_balancer
-
end
-
-
1
def define_inbound_nat_pool(inbound_nat_pools)
-
2
inbound_nat_pool_arr = []
-
2
inbound_nat_pools.each do |inp|
-
2
inbound_nat_pool = Azure::ARM::Network::Models::InboundNatPool.new
-
-
2
unless inp[:frontend_ip_configuration_id].nil?
-
frontend_ipconfigurations = Azure::ARM::Network::Models::FrontendIPConfiguration.new
-
frontend_ipconfigurations.id = inp[:frontend_ip_configuration_id]
-
inbound_nat_pool.frontend_ipconfiguration = frontend_ipconfigurations
-
end
-
-
2
inbound_nat_pool.protocol = inp[:protocol]
-
2
inbound_nat_pool.frontend_port_range_start = inp[:frontend_port_range_start]
-
2
inbound_nat_pool.frontend_port_range_end = inp[:frontend_port_range_end]
-
2
inbound_nat_pool.backend_port = inp[:backend_port]
-
-
2
inbound_nat_pool.name = inp[:name]
-
2
inbound_nat_pool_arr.push(inbound_nat_pool)
-
end
-
2
inbound_nat_pool_arr
-
end
-
-
1
def define_inbound_nat_rule(inbound_nat_rules)
-
2
inbound_nat_rule_arr = []
-
2
inbound_nat_rules.each do |inr|
-
2
inbound_nat_rule = Azure::ARM::Network::Models::InboundNatRule.new
-
-
2
unless inr[:frontend_ip_configuration_id].nil?
-
2
frontend_ipconfigurations = Azure::ARM::Network::Models::FrontendIPConfiguration.new
-
2
frontend_ipconfigurations.id = inr[:frontend_ip_configuration_id]
-
2
inbound_nat_rule.frontend_ipconfiguration = frontend_ipconfigurations
-
end
-
2
inbound_nat_rule.protocol = inr[:protocol]
-
2
inbound_nat_rule.frontend_port = inr[:frontend_port]
-
2
inbound_nat_rule.backend_port = inr[:backend_port]
-
-
2
inbound_nat_rule.name = inr[:name]
-
2
inbound_nat_rule_arr.push(inbound_nat_rule)
-
end
-
2
inbound_nat_rule_arr
-
end
-
-
1
def define_probe(probes)
-
2
probe_arr = []
-
2
probes.each do |prb|
-
2
probe = Azure::ARM::Network::Models::Probe.new
-
-
2
probe.protocol = prb[:protocol]
-
2
probe.port = prb[:port]
-
2
probe.interval_in_seconds = prb[:interval_in_seconds]
-
2
probe.number_of_probes = prb[:number_of_probes]
-
2
probe.request_path = prb[:request_path]
-
-
2
probe.name = prb[:name]
-
2
probe_arr.push(probe)
-
end
-
2
probe_arr
-
end
-
-
1
def define_load_balancing_rule(load_balancing_rules)
-
2
load_balancing_rule_arr = []
-
2
load_balancing_rules.each do |lbr|
-
2
load_balancing_rule = Azure::ARM::Network::Models::LoadBalancingRule.new
-
-
2
load_balancing_rule.protocol = lbr[:protocol]
-
2
load_balancing_rule.load_distribution = lbr[:load_distribution]
-
2
load_balancing_rule.idle_timeout_in_minutes = lbr[:idle_timeout_in_minutes]
-
2
load_balancing_rule.frontend_port = lbr[:frontend_port]
-
2
load_balancing_rule.backend_port = lbr[:backend_port]
-
2
load_balancing_rule.enable_floating_ip = lbr[:enable_floating_ip]
-
-
2
unless lbr[:frontend_ip_configuration_id].nil?
-
2
frontend_ipconfigurations = Azure::ARM::Network::Models::FrontendIPConfiguration.new
-
2
frontend_ipconfigurations.id = lbr[:frontend_ip_configuration_id]
-
2
load_balancing_rule.frontend_ipconfiguration = frontend_ipconfigurations
-
end
-
-
2
unless lbr[:backend_address_pool_id].nil?
-
2
backend_address_pool = Azure::ARM::Network::Models::BackendAddressPool.new
-
2
backend_address_pool.id = lbr[:backend_address_pool_id]
-
2
load_balancing_rule.backend_address_pool = backend_address_pool
-
end
-
-
2
unless lbr[:probe_id].nil?
-
2
probe = Azure::ARM::Network::Models::Probe.new
-
2
probe.id = lbr[:probe_id]
-
2
load_balancing_rule.probe = probe
-
end
-
-
2
load_balancing_rule.name = lbr[:name]
-
2
load_balancing_rule_arr.push(load_balancing_rule)
-
end
-
2
load_balancing_rule_arr
-
end
-
-
1
def define_lb_frontend_ip_configurations(frontend_ip_configurations)
-
2
frontend_ip_configuration_arr = []
-
2
frontend_ip_configurations.each do |fic|
-
2
frontend_ip_configuration = Azure::ARM::Network::Models::FrontendIPConfiguration.new
-
2
frontend_ip_configuration.private_ipaddress = fic[:private_ipaddress]
-
2
frontend_ip_configuration.private_ipallocation_method = fic[:private_ipallocation_method]
-
2
unless fic[:subnet_id].nil?
-
2
snet = Azure::ARM::Network::Models::Subnet.new
-
2
snet.id = fic[:subnet_id]
-
2
frontend_ip_configuration.subnet = snet
-
end
-
2
unless fic[:public_ipaddress_id].nil?
-
2
pip = Azure::ARM::Network::Models::PublicIPAddress.new
-
2
pip.id = fic[:public_ipaddress_id]
-
2
frontend_ip_configuration.public_ipaddress = pip
-
end
-
-
2
frontend_ip_configuration.name = fic[:name]
-
2
frontend_ip_configuration_arr.push(frontend_ip_configuration)
-
end
-
2
frontend_ip_configuration_arr
-
end
-
end
-
-
# Mock class for Load-Balancer Request
-
1
class Mock
-
1
def create_load_balancer(_name, _location, _resource_group, _frontend_ip_configuration_name, _subnet_id, _private_ip_address, _private_ip_allocation_method, _public_ip_address_id, _backend_address_pool_names, _load_balancing_rules, _probes, _inbound_nat_rules, _inbound_nat_pools)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_express_route_circuit(circuit_parameters)
-
2
msg = "Creating/updating Express Route Circuit #{circuit_parameters[:circuit_name]} in Resource Group: #{circuit_parameters[:resource_group_name]}."
-
2
Fog::Logger.debug msg
-
2
circuit = get_express_route_circuit_object(circuit_parameters)
-
2
begin
-
2
circuit = @network_client.express_route_circuits.create_or_update(circuit_parameters[:resource_group_name], circuit_parameters[:circuit_name], circuit)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Express Route Circuit #{circuit_parameters[:circuit_name]} created/updated successfully."
-
1
circuit
-
end
-
-
1
private
-
-
1
def get_express_route_circuit_object(circuit_parameters)
-
2
sku = create_express_route_circuit_sku(circuit_parameters[:sku_name], circuit_parameters[:sku_family], circuit_parameters[:sku_tier])
-
2
service_provider_prop = create_express_route_service_provider_properties(circuit_parameters[:service_provider_name], circuit_parameters[:peering_location], circuit_parameters[:bandwidth_in_mbps])
-
2
create_express_route_circuit(service_provider_prop, circuit_parameters[:peerings], circuit_parameters[:circuit_name], circuit_parameters[:location], sku, circuit_parameters[:tags])
-
end
-
-
1
def create_express_route_circuit_sku(sku_name, sku_family, sku_tier)
-
2
sku = Azure::ARM::Network::Models::ExpressRouteCircuitSku.new
-
2
sku.name = sku_name
-
2
sku.family = sku_family
-
2
sku.tier = sku_tier
-
2
sku
-
end
-
-
1
def create_express_route_service_provider_properties(service_provider_name, peering_location, bandwidth_in_mbps)
-
2
service_provider_prop = Azure::ARM::Network::Models::ExpressRouteCircuitServiceProviderProperties.new
-
2
service_provider_prop.service_provider_name = service_provider_name
-
2
service_provider_prop.peering_location = peering_location
-
2
service_provider_prop.bandwidth_in_mbps = bandwidth_in_mbps
-
2
service_provider_prop
-
end
-
-
1
def create_express_route_circuit(service_provider_prop, peerings, circuit_name, location, sku, tags)
-
2
express_route_circuit = Azure::ARM::Network::Models::ExpressRouteCircuit.new
-
2
express_route_circuit.service_provider_properties = service_provider_prop
-
2
express_route_circuit.peerings = get_circuit_peerings(peerings) if peerings
-
2
express_route_circuit.name = circuit_name
-
2
express_route_circuit.location = location
-
2
express_route_circuit.sku = sku
-
2
express_route_circuit.tags = tags if express_route_circuit.tags.nil?
-
2
express_route_circuit
-
end
-
-
1
def get_circuit_peerings(peerings)
-
2
circuit_peerings = []
-
2
peerings.each do |peering|
-
2
circuit_peering_object = get_circuit_peering_object(peering)
-
2
circuit_peerings.push(circuit_peering_object)
-
end
-
2
circuit_peerings
-
end
-
-
1
def create_express_route_circuit_peering(peering_type, peer_asn, primary_peer_address_prefix, secondary_peer_address_prefix, vlan_id, name)
-
circuit_peering = Azure::ARM::Network::Models::ExpressRouteCircuitPeering.new
-
circuit_peering.peering_type = peering_type
-
circuit_peering.peer_asn = peer_asn
-
circuit_peering.primary_peer_address_prefix = primary_peer_address_prefix
-
circuit_peering.secondary_peer_address_prefix = secondary_peer_address_prefix
-
circuit_peering.vlan_id = vlan_id
-
circuit_peering.name = name
-
circuit_peering
-
end
-
-
1
def create_express_route_circuit_peering_config(advertised_public_prefixes, advertised_public_prefix_state, customer_asn, routing_registry_name)
-
peering_config = Azure::ARM::Network::Models::ExpressRouteCircuitPeeringConfig.new
-
peering_config.advertised_public_prefixes = advertised_public_prefixes
-
peering_config.advertised_public_prefixes_state = advertised_public_prefix_state
-
peering_config.customer_asn = customer_asn
-
peering_config.routing_registry_name = routing_registry_name
-
peering_config
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_or_update_express_route_circuit(*)
-
{
-
'name' => 'CircuitName',
-
'location' => 'eastus',
-
'tags' => {
-
'key1' => 'value1',
-
'key2' => 'value2'
-
},
-
'sku' => {
-
'name' => 'Standard_MeteredData',
-
'tier' => 'Standard',
-
'family' => 'MeteredData'
-
},
-
'properties' => {
-
'serviceProviderProperties' => {
-
'serviceProviderName' => 'Telenor',
-
'peeringLocation' => 'London',
-
'bandwidthInMbps' => 100
-
}
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Express Route Circuit Authorization Request
-
1
class Real
-
1
def create_or_update_express_route_circuit_authorization(circuit_authorization_params)
-
2
msg = @logger_messages['network']['express_route_circuit_authentication']['message']['create']
-
.gsub('NAME', circuit_authorization_params[:authorization_name])
-
.gsub('RESOURCE_GROUP', circuit_authorization_params[:resource_group])
-
2
Fog::Logger.debug msg
-
2
circuit_authorization = get_circuit_authorization_object(circuit_authorization_params)
-
2
begin
-
2
authorization = @network_client.express_route_circuit_authorizations.create_or_update(circuit_authorization_params[:resource_group], circuit_authorization_params[:circuit_name], circuit_authorization_params[:authorization_name], circuit_authorization)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Express Route Circuit Authorization #{circuit_authorization_params[:authorization_name]} created/updated successfully."
-
1
authorization
-
end
-
-
1
private
-
-
1
def get_circuit_authorization_object(circuit_authorization_params)
-
2
circuit_authorization = Azure::ARM::Network::Models::ExpressRouteCircuitAuthorization.new
-
2
circuit_authorization.name = circuit_authorization_params[:authorization_name]
-
2
circuit_authorization.authorization_key = circuit_authorization_params[:authorization_key]
-
2
circuit_authorization.authorization_use_status = circuit_authorization_params[:authorization_use_status]
-
2
circuit_authorization.provisioning_state = circuit_authorization_params[:provisioning_state]
-
2
circuit_authorization.etag = circuit_authorization_params[:etag]
-
-
2
circuit_authorization
-
end
-
end
-
-
# Mock class for Express Route Circuit Authorization Request
-
1
class Mock
-
1
def create_or_update_express_route_circuit_authorization(*)
-
authorization = {
-
'name' => 'authorization-name',
-
'properties' => {
-
'authorizationKey' => 'authorization-key',
-
'authorizationUseStatus' => 'Available'
-
}
-
}
-
authorization_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitAuthorization.mapper
-
@network_client.deserialize(authorization_mapper, authorization, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_express_route_circuit_peering(circuit_peering_params)
-
2
msg = "Exception creating/updating Express Route Circuit Peering #{circuit_peering_params[:peering_name]} in Resource Group: #{circuit_peering_params[:resource_group_name]}."
-
2
Fog::Logger.debug msg
-
2
circuit_peering = get_circuit_peering_object(circuit_peering_params)
-
2
begin
-
2
peering = @network_client.express_route_circuit_peerings.create_or_update(circuit_peering_params[:resource_group_name], circuit_peering_params[:circuit_name], circuit_peering_params[:peering_name], circuit_peering)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Express Route Circuit Peering #{circuit_peering_params[:peering_name]} created/updated successfully."
-
1
peering
-
end
-
-
1
private
-
-
1
def get_circuit_peering_object(circuit_peering_params)
-
4
circuit_peering = create_express_route_circuit_peering(circuit_peering_params[:peering_type], circuit_peering_params[:peer_asn], circuit_peering_params[:primary_peer_address_prefix], circuit_peering_params[:secondary_peer_address_prefix], circuit_peering_params[:vlan_id], circuit_peering_params[:name])
-
-
4
if circuit_peering_params[:peering_type].casecmp(MICROSOFT_PEERING).zero?
-
peering_config = create_express_route_circuit_peering_config(circuit_peering_params[:advertised_public_prefixes], circuit_peering_params[:advertised_public_prefix_state], circuit_peering_params[:customer_asn], circuit_peering_params[:routing_registry_name])
-
circuit_peering.microsoft_peering_config = peering_config
-
end
-
-
4
circuit_peering
-
end
-
-
1
def create_express_route_circuit_peering(peering_type, peer_asn, primary_peer_address_prefix, secondary_peer_address_prefix, vlan_id, name)
-
4
circuit_peering = Azure::ARM::Network::Models::ExpressRouteCircuitPeering.new
-
4
circuit_peering.peering_type = peering_type
-
4
circuit_peering.peer_asn = peer_asn
-
4
circuit_peering.primary_peer_address_prefix = primary_peer_address_prefix
-
4
circuit_peering.secondary_peer_address_prefix = secondary_peer_address_prefix
-
4
circuit_peering.vlan_id = vlan_id
-
4
circuit_peering.name = name
-
4
circuit_peering
-
end
-
-
1
def create_express_route_circuit_peering_config(advertised_public_prefixes, advertised_public_prefix_state, customer_asn, routing_registry_name)
-
peering_config = Azure::ARM::Network::Models::ExpressRouteCircuitPeeringConfig.new
-
peering_config.advertised_public_prefixes = advertised_public_prefixes
-
peering_config.advertised_public_prefixes_state = advertised_public_prefix_state
-
peering_config.customer_asn = customer_asn
-
peering_config.routing_registry_name = routing_registry_name
-
peering_config
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_or_update_express_route_circuit_peering(*)
-
{
-
'name' => 'PeeringName',
-
'properties' => {
-
'peeringType' => 'MicrosoftPeering',
-
'peerASN' => 100,
-
'primaryPeerAddressPrefix' => '192.168.1.0/30',
-
'secondaryPeerAddressPrefix' => '192.168.2.0/30',
-
'vlanId' => 200,
-
'microsoftPeeringConfig' => {
-
'advertisedpublicprefixes' => [
-
'11.2.3.4/30',
-
'12.2.3.4/30'
-
],
-
'advertisedPublicPrefixState' => 'NotConfigured',
-
'customerAsn' => 200,
-
'routingRegistryName' => '<name>'
-
}
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Local Network Gateway Request
-
1
class Real
-
1
def create_or_update_local_network_gateway(local_network_gateway_params)
-
2
msg = @logger_messages['network']['local_network_gateway']['message']['create']
-
.gsub('NAME', local_network_gateway_params[:name])
-
.gsub('RESOURCE_GROUP', local_network_gateway_params[:resource_group])
-
2
Fog::Logger.debug msg
-
2
local_network_gateway = get_local_network_gateway_object(local_network_gateway_params)
-
2
begin
-
2
local_network_gateway = @network_client.local_network_gateways.create_or_update(local_network_gateway_params[:resource_group], local_network_gateway.name, local_network_gateway)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Local Network Gateway #{local_network_gateway_params[:name]} created/updated successfully."
-
1
local_network_gateway
-
end
-
-
1
private
-
-
1
def get_local_network_gateway_object(local_network_gateway_params)
-
2
local_network_gateway = Azure::ARM::Network::Models::LocalNetworkGateway.new
-
2
local_network_gateway.local_network_address_space = get_local_network_address_space_object(local_network_gateway_params[:local_network_address_space_prefixes]) if local_network_gateway_params[:local_network_address_space_prefixes]
-
2
local_network_gateway.gateway_ip_address = local_network_gateway_params[:gateway_ip_address] if local_network_gateway_params[:gateway_ip_address]
-
2
local_network_gateway.bgp_settings = get_bgp_settings_object(local_network_gateway_params)
-
-
2
local_network_gateway.name = local_network_gateway_params[:name]
-
2
local_network_gateway.type = local_network_gateway_params[:type]
-
2
local_network_gateway.location = local_network_gateway_params[:location]
-
2
local_network_gateway.tags = local_network_gateway_params[:tags] if local_network_gateway.tags.nil?
-
2
local_network_gateway.provisioning_state = local_network_gateway_params[:provisioning_state]
-
-
2
local_network_gateway
-
end
-
-
1
def get_local_network_address_space_object(local_network_address_space_prefixes)
-
address_space = Azure::ARM::Network::Models::AddressSpace.new
-
address_space.address_prefixes = local_network_address_space_prefixes
-
address_space
-
end
-
-
1
def get_bgp_settings_object(local_network_gateway_params)
-
2
bgp_settings = Azure::ARM::Network::Models::BgpSettings.new
-
2
bgp_settings.asn = local_network_gateway_params[:asn]
-
2
bgp_settings.bgp_peering_address = local_network_gateway_params[:bgp_peering_address]
-
2
bgp_settings.peer_weight = local_network_gateway_params[:peer_weight]
-
2
bgp_settings
-
end
-
end
-
-
# Mock class for Local Network Gateway Request
-
1
class Mock
-
1
def create_or_update_virtual_network_gateway(*)
-
local_network_gateway = {
-
'id' => '/subscriptions/<Subscription_id>/resourceGroups/learn_fog/providers/Microsoft.Network/localNetworkGateways/testLocalNetworkGateway',
-
'name' => 'testLocalNetworkGateway',
-
'type' => 'Microsoft.Network/localNetworkGateways',
-
'location' => 'eastus',
-
'properties' =>
-
{
-
'local_network_address_space' => {
-
'address_prefixes' => []
-
},
-
'gateway_ip_address' => '192.168.1.1',
-
'bgp_settings' => {
-
'asn' => 100,
-
'bgp_peering_address' => '192.168.1.2',
-
'peer_weight' => 3
-
}
-
}
-
}
-
local_network_gateway_mapper = Azure::ARM::Network::Models::LocalNetworkGateway.mapper
-
@network_client.deserialize(local_network_gateway_mapper, local_network_gateway, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_network_interface(resource_group_name, name, location, subnet_id, public_ip_address_id, ip_config_name, private_ip_allocation_method, private_ip_address)
-
3
msg = "Creating/Updating Network Interface Card: #{name}"
-
3
Fog::Logger.debug msg
-
3
network_interface = get_network_interface_object(name, location, subnet_id, public_ip_address_id, ip_config_name, private_ip_allocation_method, private_ip_address)
-
3
begin
-
3
network_interface_obj = @network_client.network_interfaces.create_or_update(resource_group_name, name, network_interface)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
2
Fog::Logger.debug "Network Interface #{name} created/updated successfully."
-
2
network_interface_obj
-
end
-
-
1
private
-
-
1
def get_network_interface_object(name, location, subnet_id, public_ip_address_id, ip_config_name, private_ip_allocation_method, private_ip_address)
-
3
subnet = Azure::ARM::Network::Models::Subnet.new
-
3
subnet.id = subnet_id
-
-
3
if public_ip_address_id
-
2
public_ipaddress = Azure::ARM::Network::Models::PublicIPAddress.new
-
2
public_ipaddress.id = public_ip_address_id
-
end
-
-
3
ip_configs = Azure::ARM::Network::Models::NetworkInterfaceIPConfiguration.new
-
3
ip_configs.name = ip_config_name
-
3
ip_configs.private_ipallocation_method = private_ip_allocation_method
-
3
ip_configs.private_ipaddress = private_ip_address
-
3
ip_configs.public_ipaddress = public_ipaddress unless public_ip_address_id.nil?
-
3
ip_configs.subnet = subnet
-
-
3
network_interface = Azure::ARM::Network::Models::NetworkInterface.new
-
3
network_interface.name = name
-
3
network_interface.location = location
-
3
network_interface.ip_configurations = [ip_configs]
-
-
3
network_interface
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_or_update_network_interface(resource_group_name, name, location, subnet_id, public_ip_address_id, ip_configs_name, private_ip_allocation_method, private_ip_address)
-
nic = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkInterfaces/#{name}",
-
'name' => name,
-
'type' => 'Microsoft.Network/networkInterfaces',
-
'location' => location,
-
'properties' =>
-
{
-
'ipConfigurations' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkInterfaces/#{name}/ipConfigurations/#{ip_configs_name}",
-
'properties' =>
-
{
-
'privateIPAddress' => private_ip_address,
-
'privateIPAllocationMethod' => private_ip_allocation_method,
-
'subnet' =>
-
{
-
'id' => subnet_id
-
},
-
'publicIPAddress' =>
-
{
-
'id' => public_ip_address_id
-
},
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => ip_configs_name
-
}
-
],
-
'dnsSettings' =>
-
{
-
'dnsServers' => [],
-
'appliedDnsServers' => []
-
},
-
'enableIPForwarding' => false,
-
'resourceGuid' => '2bff0fad-623b-4773-82b8-dc875f3aacd2',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterface.mapper
-
@network_client.deserialize(network_interface_mapper, nic, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_network_security_group(resource_group_name, security_group_name, location, security_rules)
-
2
msg = "Creating/Updating Network Security Group #{security_group_name} in Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
-
2
security_group = get_security_group_object(security_rules, location)
-
-
2
begin
-
2
security_group = @network_client.network_security_groups.begin_create_or_update(resource_group_name, security_group_name, security_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Network Security Group #{security_group_name} Created/Updated Successfully!"
-
1
security_group
-
end
-
-
1
private
-
-
1
def get_security_group_object(security_rules, location)
-
2
security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
-
2
security_group.security_rules = get_security_rule_objects(security_rules)
-
2
security_group.location = location
-
2
security_group
-
end
-
-
1
def get_security_rule_objects(security_rules)
-
3
rules = []
-
security_rules.each do |sr|
-
2
security_rule = Azure::ARM::Network::Models::SecurityRule.new
-
2
security_rule.description = sr[:description] unless sr[:description].nil?
-
2
security_rule.protocol = sr[:protocol]
-
2
security_rule.source_port_range = sr[:source_port_range]
-
2
security_rule.destination_port_range = sr[:destination_port_range]
-
2
security_rule.source_address_prefix = sr[:source_address_prefix]
-
2
security_rule.destination_address_prefix = sr[:destination_address_prefix]
-
2
security_rule.access = sr[:access]
-
2
security_rule.priority = sr[:priority]
-
2
security_rule.direction = sr[:direction]
-
2
security_rule.name = sr[:name]
-
2
rules << security_rule
-
3
end unless security_rules.nil?
-
3
rules
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_or_update_network_security_group(resource_group_name, security_group_name, location, security_rules)
-
network_security_group = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}",
-
'name' => security_group_name,
-
'type' => 'Microsoft.Network/networkSecurityGroups',
-
'location' => location,
-
'properties' =>
-
{
-
'securityRules' => security_rules,
-
'defaultSecurityRules' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowVnetInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowVnetInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowAzureLoadBalancerInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'AzureLoadBalancer',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from azure load balancer',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowAzureLoadBalancerInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/DenyAllInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Inbound',
-
'description' => 'Deny all inbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'DenyAllInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowVnetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowVnetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowInternetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => 'Internet',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to Internet',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowInternetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/DenyAllOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Outbound',
-
'description' => 'Deny all outbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'DenyAllOutBound'
-
}
-
],
-
'resourceGuid' => '9dca97e6-4789-4ebd-86e3-52b8b0da6cd4',
-
'provisioningState' => 'Updating'
-
}
-
}
-
nsg_mapper = Azure::ARM::Network::Models::NetworkSecurityGroup.mapper
-
@network_client.deserialize(nsg_mapper, network_security_group, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_network_security_rule(security_rule)
-
2
msg = "Creating/Updating Network Security Rule #{security_rule[:name]} in Resource Group #{security_rule[:resource_group]}."
-
2
Fog::Logger.debug msg
-
2
security_rule_params = get_security_rule_params(security_rule)
-
2
begin
-
2
security_rule_obj = @network_client.security_rules.create_or_update(security_rule[:resource_group], security_rule[:network_security_group_name], security_rule[:name], security_rule_params)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Network Security Rule #{security_rule[:name]} Created/Updated Successfully!"
-
1
security_rule_obj
-
end
-
-
1
def get_security_rule_params(security_rule_hash)
-
2
security_rule = Azure::ARM::Network::Models::SecurityRule.new
-
2
security_rule.protocol = security_rule_hash[:protocol]
-
2
security_rule.source_port_range = security_rule_hash[:source_port_range]
-
2
security_rule.destination_port_range = security_rule_hash[:destination_port_range]
-
2
security_rule.source_address_prefix = security_rule_hash[:source_address_prefix]
-
2
security_rule.destination_address_prefix = security_rule_hash[:destination_address_prefix]
-
2
security_rule.access = security_rule_hash[:access]
-
2
security_rule.priority = security_rule_hash[:priority]
-
2
security_rule.direction = security_rule_hash[:direction]
-
2
security_rule
-
end
-
end
-
-
# Mock class for Network Security Rule Request
-
1
class Mock
-
1
def create_or_update_network_security_rule(*)
-
network_security_rule = '{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":6500,
-
"direction":"Inbound"
-
}
-
}'
-
network_security_rule_mapper = Azure::ARM::Network::Models::SecurityRule.mapper
-
@network_client.deserialize(network_security_rule_mapper, JSON.load(network_security_rule), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_public_ip(resource_group, name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label)
-
4
msg = "Creating/Updating PublicIP #{name} in Resource Group #{resource_group}."
-
4
Fog::Logger.debug msg
-
4
public_ip = get_public_ip_object(name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label)
-
4
begin
-
4
public_ip_obj = @network_client.public_ipaddresses.create_or_update(resource_group, name, public_ip)
-
rescue MsRestAzure::AzureOperationError => e
-
2
raise_azure_exception(e, msg)
-
end
-
2
Fog::Logger.debug "PublicIP #{name} Created Successfully!"
-
2
public_ip_obj
-
end
-
-
1
private
-
-
1
def get_public_ip_object(name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label)
-
4
public_ip = Azure::ARM::Network::Models::PublicIPAddress.new
-
4
public_ip.name = name
-
4
public_ip.location = location
-
4
public_ip.public_ipallocation_method = public_ip_allocation_method unless public_ip_allocation_method.nil?
-
4
public_ip.idle_timeout_in_minutes = idle_timeout_in_minutes unless idle_timeout_in_minutes.nil?
-
4
unless domain_name_label.nil?
-
4
public_ip.dns_settings = Azure::ARM::Network::Models::PublicIPAddressDnsSettings.new
-
4
public_ip.dns_settings.domain_name_label = domain_name_label
-
end
-
-
4
public_ip
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_public_ip(resource_group, name, location, public_ip_allocation_method)
-
public_ip = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/publicIPAddresses/#{name}",
-
'name' => name,
-
'type' => 'Microsoft.Network/publicIPAddresses',
-
'location' => location,
-
'properties' =>
-
{
-
'publicIPAllocationMethod' => public_ip_allocation_method,
-
'ipAddress' => '13.91.253.67',
-
'idleTimeoutInMinutes' => 4,
-
'resourceGuid' => '767b1955-94de-433c-8e4a-ea0ad25e8d0c',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
public_ip_mapper = Azure::ARM::Network::Models::PublicIPAddress.mapper
-
@network_client.deserialize(public_ip_mapper, public_ip, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_virtual_network(resource_group_name, virtual_network_name, location, dns_servers, subnets, address_prefixes)
-
3
virtual_network = define_vnet_object(location, address_prefixes, dns_servers, subnets)
-
3
create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
-
end
-
-
1
private
-
-
1
def create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
-
9
msg = "Creating/Updating Virtual Network: #{virtual_network_name}"
-
9
Fog::Logger.debug msg
-
9
begin
-
9
virtual_network = @network_client.virtual_networks.create_or_update(resource_group_name, virtual_network_name, virtual_network)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
8
Fog::Logger.debug "Virtual Network #{virtual_network_name} created/updated successfully."
-
8
virtual_network
-
end
-
-
1
def define_vnet_object(location, address_prefixes, dns_servers, subnets)
-
3
virtual_network = Azure::ARM::Network::Models::VirtualNetwork.new
-
3
virtual_network.location = location
-
-
3
if address_prefixes.nil? || !address_prefixes.any?
-
1
address_space = Azure::ARM::Network::Models::AddressSpace.new
-
1
address_space.address_prefixes = DEFAULT_ADDRESS_PREFIXES
-
else
-
2
address_space = Azure::ARM::Network::Models::AddressSpace.new
-
2
address_space.address_prefixes = address_prefixes
-
end
-
3
virtual_network.address_space = address_space
-
-
3
if !dns_servers.nil? && dns_servers.any?
-
3
dhcp_options = Azure::ARM::Network::Models::DhcpOptions.new
-
3
dhcp_options.dns_servers = dns_servers
-
3
virtual_network.dhcp_options = dhcp_options
-
end
-
-
3
if !subnets.nil? && subnets.any?
-
3
subnet_objects = define_subnet_objects(subnets)
-
3
virtual_network.subnets = subnet_objects
-
end
-
-
3
virtual_network
-
end
-
-
1
def define_subnet_objects(subnets)
-
4
subnet_objects = []
-
4
subnets.each do |subnet|
-
4
network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
-
4
network_security_group.id = subnet[:network_security_group_id]
-
-
4
route_table = Azure::ARM::Network::Models::RouteTable.new
-
4
route_table.id = subnet[:route_table_id]
-
-
4
subnet_object = Azure::ARM::Network::Models::Subnet.new
-
4
subnet_object.name = subnet[:name]
-
4
subnet_object.address_prefix = subnet[:address_prefix]
-
4
subnet_object.network_security_group = network_security_group unless subnet[:network_security_group_id].nil?
-
4
subnet_object.route_table = route_table unless subnet[:route_table_id].nil?
-
-
4
subnet_objects << subnet_object
-
end
-
4
subnet_objects
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_or_update__virtual_network(*)
-
virtual_network = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet',
-
'name' => 'fog-vnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
%w(10.1.0.0/16 10.2.0.0/16)
-
},
-
'subnets' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => [],
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => "subnet_0_#{name}"
-
}
-
],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
@network_client.deserialize(vnet_mapper, virtual_network, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_virtual_network_gateway(virtual_network_params)
-
2
msg = "Creating/Updating Virtual Network Gateway: #{virtual_network_params[:name]} in Resource Group: #{virtual_network_params[:resource_group_name]}."
-
2
Fog::Logger.debug msg
-
2
network_gateway = get_network_gateway_object(virtual_network_params)
-
2
begin
-
2
virtual_network_gateway = @network_client.virtual_network_gateways.create_or_update(virtual_network_params[:resource_group_name], virtual_network_params[:name], network_gateway)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Network Gateway #{virtual_network_params[:name]} created/updated successfully."
-
1
virtual_network_gateway
-
end
-
-
1
private
-
-
1
def get_network_gateway_object(virtual_network_params)
-
2
network_gateway = Azure::ARM::Network::Models::VirtualNetworkGateway.new
-
-
2
network_gateway.enable_bgp = virtual_network_params[:enable_bgp]
-
2
network_gateway.gateway_type = virtual_network_params[:gateway_type]
-
2
network_gateway.provisioning_state = virtual_network_params[:provisioning_state]
-
2
network_gateway.vpn_type = virtual_network_params[:vpn_type]
-
2
network_gateway.sku = get_virtual_network_gateway_sku(virtual_network_params)
-
2
if virtual_network_params[:gateway_default_site]
-
default_site = MsRestAzure::SubResource.new
-
default_site.id = virtual_network_params[:gateway_default_site]
-
network_gateway.gateway_default_site = default_site
-
end
-
2
if virtual_network_params[:ip_configurations]
-
ip_configurations = get_ip_configurations(virtual_network_params[:ip_configurations])
-
network_gateway.ip_configurations = ip_configurations
-
end
-
-
2
if virtual_network_params[:enable_bgp]
-
network_gateway.bgp_settings = get_bgp_settings(virtual_network_params)
-
end
-
-
2
if virtual_network_params[:vpn_client_configuration]
-
vpn_client_config = get_vpn_client_config(virtual_network_params[:vpn_client_configuration])
-
network_gateway.vpn_client_configuration = vpn_client_config
-
end
-
-
2
network_gateway.name = virtual_network_params[:name]
-
2
network_gateway.location = virtual_network_params[:location]
-
2
network_gateway.tags = virtual_network_params[:tags] if network_gateway.tags.nil?
-
-
2
network_gateway
-
end
-
-
1
def get_bgp_settings(virtual_network_params)
-
bgp_settings = Azure::ARM::Network::Models::BgpSettings.new
-
bgp_settings.asn = virtual_network_params[:asn]
-
bgp_settings.bgp_peering_address = virtual_network_params[:bgp_peering_address]
-
bgp_settings.peer_weight = virtual_network_params[:peer_weight]
-
bgp_settings
-
end
-
-
1
def get_virtual_network_gateway_sku(virtual_network_params)
-
2
sku = Azure::ARM::Network::Models::VirtualNetworkGatewaySku.new
-
2
sku.name = virtual_network_params[:sku_name]
-
2
sku.capacity = virtual_network_params[:sku_capacity]
-
2
sku.tier = virtual_network_params[:sku_tier]
-
2
sku
-
end
-
-
1
def get_vpn_client_config(vpn_client_config)
-
client_config = Azure::ARM::Network::Models::VpnClientConfiguration.new
-
-
address_pool = Azure::ARM::Network::Models::AddressSpace.new
-
address_pool.address_prefixes = vpn_client_config[:address_pool]
-
client_config.vpn_client_address_pool = address_pool
-
-
if vpn_client_config[:root_certificates]
-
root_certificates = get_root_certificates(vpn_client_config[:root_certificates])
-
client_config.vpn_client_root_certificates = root_certificates
-
end
-
-
if vpn_client_config[:revoked_certificates]
-
revoked_certificates = get_revoked_certificates(vpn_client_config[:revoked_certificates])
-
client_config.vpn_client_revoked_certificates = revoked_certificates
-
end
-
client_config
-
end
-
-
1
def get_root_certificates(root_certificates)
-
root_certs = []
-
root_certificates.each do |root_cert|
-
root_certificate = Azure::ARM::Network::Models::VpnClientRootCertificate.new
-
root_certificate.public_cert_data = root_cert[:public_cert_data]
-
root_certificate.provisioning_state = root_cert[:provisioning_state]
-
root_certificate.name = root_cert[:name]
-
root_certs.push(root_certificate)
-
end
-
root_certs
-
end
-
-
1
def get_revoked_certificates(revoked_certificates)
-
revoked_certs = []
-
revoked_certificates.each do |revoked_cert|
-
revoked_certificate = Azure::ARM::Network::Models::VpnClientRevokedCertificate.new
-
revoked_certificate.thumbprint = revoked_cert[:thumbprint]
-
revoked_certificate.provisioning_state = revoked_cert[:provisioning_state]
-
revoked_certificate.name = revoked_cert[:name]
-
revoked_certs.push(revoked_certificate)
-
end
-
revoked_certs
-
end
-
-
1
def get_ip_configurations(ip_configurations)
-
ip_configs = []
-
ip_configurations.each do |ip_config|
-
ip_configuration = Azure::ARM::Network::Models::VirtualNetworkGatewayIPConfiguration.new
-
ip_configuration.private_ipallocation_method = ip_config[:private_ipallocation_method]
-
unless ip_config[:subnet_id].nil?
-
subnet = Azure::ARM::Network::Models::Subnet.new
-
subnet.id = ip_config[:subnet_id]
-
ip_configuration.subnet = subnet
-
end
-
unless ip_config[:public_ipaddress_id].nil?
-
pip = Azure::ARM::Network::Models::PublicIPAddress.new
-
pip.id = ip_config[:public_ipaddress_id]
-
ip_configuration.public_ipaddress = pip
-
end
-
-
ip_configuration.name = ip_config[:name]
-
ip_configs.push(ip_configuration)
-
end
-
ip_configs
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_or_update_virtual_network_gateway(*)
-
gateway = {
-
'name' => 'myvirtualgateway1',
-
'location' => 'West US',
-
'tags' => { 'key1' => 'value1' },
-
'properties' => {
-
'gatewayType' => 'DynamicRouting',
-
'gatewaySize' => 'Default',
-
'bgpEnabled' => true,
-
'vpnClientAddressPool' => ['{vpnClientAddressPoolPrefix}'],
-
'defaultSites' => ['mysite1']
-
}
-
}
-
gateway_mapper = Azure::ARM::Network::Models::VirtualNetworkGateway.mapper
-
@network_client.deserialize(gateway_mapper, gateway, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_or_update_virtual_network_gateway_connection(gateway_connection_params)
-
2
msg = @logger_messages['network']['virtual_network_gateway_connection']['message']['create']
-
.gsub('NAME', gateway_connection_params[:name])
-
.gsub('RESOURCE_GROUP', gateway_connection_params[:resource_group_name])
-
2
Fog::Logger.debug msg
-
2
gateway_connection = get_network_gateway_connection_object(gateway_connection_params)
-
2
begin
-
2
network_gateway_connection = @network_client.virtual_network_gateway_connections.create_or_update(gateway_connection_params[:resource_group_name], gateway_connection_params[:name], gateway_connection)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Network Gateway Connection #{gateway_connection_params[:name]} created/updated successfully."
-
1
network_gateway_connection
-
end
-
-
1
private
-
-
1
def get_network_gateway_connection_object(gateway_connection_params)
-
2
gateway_connection = Azure::ARM::Network::Models::VirtualNetworkGatewayConnection.new
-
-
2
gateway_connection.name = gateway_connection_params[:name]
-
2
gateway_connection.location = gateway_connection_params[:location]
-
2
gateway_connection.tags = gateway_connection_params[:tags] if gateway_connection.tags.nil?
-
-
2
if gateway_connection_params[:virtual_network_gateway1]
-
gateway_connection.virtual_network_gateway1 = get_virtual_network_gateway(gateway_connection_params[:virtual_network_gateway1][:resource_group], gateway_connection_params[:virtual_network_gateway1][:name])
-
end
-
-
2
if gateway_connection_params[:virtual_network_gateway2]
-
gateway_connection.virtual_network_gateway2 = get_virtual_network_gateway(gateway_connection_params[:virtual_network_gateway2][:resource_group], gateway_connection_params[:virtual_network_gateway2][:name])
-
end
-
-
2
gateway_connection.authorization_key = gateway_connection_params[:authorization_key]
-
2
gateway_connection.connection_type = gateway_connection_params[:connection_type]
-
2
gateway_connection.routing_weight = gateway_connection_params[:routing_weight]
-
2
gateway_connection.shared_key = gateway_connection_params[:shared_key]
-
2
gateway_connection.connection_status = gateway_connection_params[:connection_status]
-
2
gateway_connection.egress_bytes_transferred = gateway_connection_params[:egress_bytes_transferred]
-
2
gateway_connection.ingress_bytes_transferred = gateway_connection_params[:ingress_bytes_transferred]
-
2
if gateway_connection_params[:peer]
-
peer = MsRestAzure::SubResource.new
-
peer.id = gateway_connection_params[:peer]
-
gateway_connection.peer = peer
-
end
-
2
gateway_connection.resource_guid = gateway_connection_params[:resource_guid]
-
2
gateway_connection.enable_bgp = gateway_connection_params[:enable_bgp]
-
2
gateway_connection.provisioning_state = gateway_connection_params[:provisioning_state]
-
-
2
gateway_connection
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_or_update_virtual_network_gateway_connection(*)
-
connection = {
-
'name' => 'cn1',
-
'location' => 'West US',
-
'tags' => { 'key1' => 'value1' },
-
'properties' => {
-
'virtualNetworkGateway1' => {
-
'name' => 'firstgateway'
-
},
-
'virtualNetworkGateway2' => {
-
'name' => 'secondgateway'
-
},
-
'connectionType' => 'SiteToSite',
-
'connectivityState' => 'Connected'
-
}
-
}
-
connection_mapper = Azure::ARM::Network::Models::VirtualNetworkGatewayConnection.mapper
-
@network_client.deserialize(connection_mapper, connection, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def create_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id, route_table_id)
-
2
msg = "Creating Subnet: #{subnet_name}"
-
2
Fog::Logger.debug msg
-
2
subnet = get_subnet_object(address_prefix, network_security_group_id, route_table_id)
-
2
begin
-
2
subnet_obj = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Subnet #{subnet_name} created successfully."
-
1
subnet_obj
-
end
-
-
1
private
-
-
1
def get_subnet_object(address_prefix, network_security_group_id, route_table_id)
-
2
subnet = Azure::ARM::Network::Models::Subnet.new
-
2
network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
-
2
route_table = Azure::ARM::Network::Models::RouteTable.new
-
-
2
subnet.address_prefix = address_prefix
-
2
network_security_group.id = network_security_group_id
-
2
route_table.id = route_table_id
-
-
2
subnet.network_security_group = network_security_group unless network_security_group_id.nil?
-
2
subnet.route_table = route_table unless route_table_id.nil?
-
2
subnet
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def create_subnet(*)
-
subnet = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
subnet_mapper = Azure::ARM::Network::Models::Subnet.mapper
-
@network_client.deserialize(subnet_mapper, subnet, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_express_route_circuit(resource_group_name, circuit_name)
-
2
msg = "Deleting Express Route Circuit #{circuit_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.express_route_circuits.delete(resource_group_name, circuit_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Express Route Circuit #{circuit_name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_express_route_circuit(*)
-
Fog::Logger.debug 'Express Route Circuit {circuit_name} from Resource group {resource_group_name} deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Express Route Circuit Authorization Request
-
1
class Real
-
1
def delete_express_route_circuit_authorization(resource_group_name, circuit_name, authorization_name)
-
2
msg = @logger_messages['network']['express_route_circuit_authentication']['message']['delete']
-
.gsub('NAME', authorization_name).gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.express_route_circuit_authorizations.delete(resource_group_name, circuit_name, authorization_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Express Route Circuit Authorization #{authorization_name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Express Route Circuit Authorization Request
-
1
class Mock
-
1
def delete_express_route_circuit_authorization(*)
-
Fog::Logger.debug 'Express Route Circuit Authorization {authorization_name} from Resource group {resource_group_name} deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_express_route_circuit_peering(resource_group_name, peering_name, circuit_name)
-
2
msg = "Deleting Express Route Circuit Peering #{peering_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.express_route_circuit_peerings.delete(resource_group_name, circuit_name, peering_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Express Route Circuit Peering #{peering_name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_express_route_circuit_peering(*)
-
Fog::Logger.debug 'Express Route Circuit Peering {peering_name} from Resource group {resource_group_name} deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_load_balancer(resource_group, name)
-
2
msg = "Deleting Load_Balancer #{name} from Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.load_balancers.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Load_Balancer #{name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_load_balancer(_resource_group, _name)
-
Fog::Logger.debug "Load_Balancer #{name} Deleted Successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Local Network Gateway Request
-
1
class Real
-
1
def delete_local_network_gateway(resource_group_name, local_network_gateway_name)
-
2
msg = @logger_messages['network']['local_network_gateway']['message']['delete']
-
.gsub('NAME', local_network_gateway_name).gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.local_network_gateways.delete(resource_group_name, local_network_gateway_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Local Network Gateway #{local_network_gateway_name} from Resource group #{resource_group_name} deleted successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Local Network Gateway Request
-
1
class Mock
-
1
def delete_local_network_gateway(*)
-
Fog::Logger.debug 'Local Network Gateway testLocalNetworkGateway from Resource group learn_fog deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_network_interface(resource_group, name)
-
2
msg = "Deleting NetworkInterface #{name} from Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.network_interfaces.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "NetworkInterface #{name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_network_interface(resource_group, name)
-
Fog::Logger.debug "Network Interface #{name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_network_security_group(resource_group, name)
-
2
msg = "Deleting Network Security Group: #{name}"
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
@network_client.network_security_groups.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Network Security Group #{name} deleted successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_network_security_group(resource_group, name)
-
Fog::Logger.debug "Network Security Group #{name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_network_security_rule(resource_group, network_security_group_name, security_rule_name)
-
2
msg = "Deleting Network Security Rule #{security_rule_name} in Security Group #{network_security_group_name}"
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
@network_client.security_rules.delete(resource_group, network_security_group_name, security_rule_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Network Security Rule #{security_rule_name} deleted successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_network_security_rule(*)
-
Fog::Logger.debug 'Network Security Rule test-security-rule from Resource group test-rg deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_public_ip(resource_group, name)
-
2
Fog::Logger.debug "Deleting PublicIP #{name} from Resource Group #{resource_group}."
-
2
begin
-
2
@network_client.public_ipaddresses.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, "Deleting PublicIP #{name} from Resource Group #{resource_group}")
-
end
-
1
Fog::Logger.debug "PublicIP #{name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_public_ip(resource_group, name)
-
Fog::Logger.debug "Public IP #{name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_subnet(resource_group, name, virtual_network_name)
-
2
msg = "Deleting Subnet: #{name}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.subnets.delete(resource_group, virtual_network_name, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Subnet #{name} of Virtual Network #{virtual_network_name} from Resource group #{resource_group} deleted successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_subnet(resource_group, name, virtual_network_name)
-
Fog::Logger.debug "Subnet #{name} of Virtual Network #{virtual_network_name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_virtual_network(resource_group, name)
-
2
msg = "Deleting Virtual Network: #{name}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.virtual_networks.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Network #{name} deleted successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_virtual_network(resource_group, name)
-
Fog::Logger.debug "Virtual Network #{name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_virtual_network_gateway(resource_group_name, virtual_network_gateway_name)
-
2
msg = "Deleting Virtual Network Gateway #{virtual_network_gateway_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.virtual_network_gateways.delete(resource_group_name, virtual_network_gateway_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Network Gateway #{virtual_network_gateway_name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_virtual_network_gateway(resource_group_name, virtual_network_gateway_name)
-
Fog::Logger.debug "Virtual Network Gateway #{virtual_network_gateway_name} from Resource group #{resource_group_name} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def delete_virtual_network_gateway_connection(resource_group_name, gateway_connection_name)
-
2
msg = @logger_messages['network']['virtual_network_gateway_connection']['message']['delete']
-
.gsub('NAME', gateway_connection_name).gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.virtual_network_gateway_connections.delete(resource_group_name, gateway_connection_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Network Gateway Connection #{gateway_connection_name} Deleted Successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def delete_virtual_network_gateway_connection(*)
-
Fog::Logger.debug 'Virtual Network Gateway Connection deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def detach_network_security_group_from_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, route_table_id)
-
2
msg = "Detaching Network Security Group from Subnet: #{subnet_name}"
-
2
Fog::Logger.debug msg
-
2
subnet = get_subnet_object_for_detach_network_security_group(address_prefix, route_table_id)
-
2
begin
-
2
subnet = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug 'Network Security Group detached successfully.'
-
1
subnet
-
end
-
-
1
private
-
-
1
def get_subnet_object_for_detach_network_security_group(address_prefix, route_table_id)
-
2
subnet = Azure::ARM::Network::Models::Subnet.new
-
2
route_table = Azure::ARM::Network::Models::RouteTable.new
-
-
2
route_table.id = route_table_id
-
2
subnet.address_prefix = address_prefix
-
2
subnet.route_table = route_table unless route_table_id.nil?
-
2
subnet.network_security_group = nil
-
2
subnet
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def detach_network_security_group_from_subnet(*)
-
subnet = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
subnet_mapper = Azure::ARM::Network::Models::Subnet.mapper
-
@network_client.deserialize(subnet_mapper, subnet, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def detach_resource_from_nic(resource_group_name, nic_name, resource_type)
-
3
msg = "Removing #{resource_type} from Network Interface #{nic_name}"
-
3
Fog::Logger.debug msg
-
3
begin
-
3
nic = get_network_interface_with_detached_resource(nic_name, resource_group_name, resource_type)
-
-
2
nic_obj = @network_client.network_interfaces.create_or_update(resource_group_name, nic_name, nic)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
2
Fog::Logger.debug "#{resource_type} deleted from Network Interface #{nic_name} successfully!"
-
2
nic_obj
-
end
-
-
1
private
-
-
1
def get_network_interface_with_detached_resource(nic_name, resource_group_name, resource_type)
-
3
network_interface = @network_client.network_interfaces.get(resource_group_name, nic_name)
-
2
case resource_type
-
when PUBLIC_IP
-
1
network_interface.ip_configurations[0].public_ipaddress = nil unless network_interface.ip_configurations.empty?
-
when NETWORK_SECURITY_GROUP
-
1
network_interface.network_security_group = nil
-
end
-
2
network_interface
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def detach_resource_from_nic(resource_group_name, nic_name, _resource_type)
-
nic = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkInterfaces/#{nic_name}",
-
'name' => nic_name,
-
'type' => 'Microsoft.Network/networkInterfaces',
-
'location' => location,
-
'properties' =>
-
{
-
'ipConfigurations' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkInterfaces/#{nic_name}/ipConfigurations/#{ip_configs_name}",
-
'properties' =>
-
{
-
'privateIPAddress' => '10.0.0.5',
-
'privateIPAllocationMethod' => prv_ip_alloc_method,
-
'subnet' =>
-
{
-
'id' => subnet_id
-
},
-
'publicIPAddress' =>
-
{
-
'id' => public_ip_address_id
-
},
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => ip_configs_name
-
}
-
],
-
'dnsSettings' =>
-
{
-
'dnsServers' => [],
-
'appliedDnsServers' => []
-
},
-
'enableIPForwarding' => false,
-
'resourceGuid' => '2bff0fad-623b-4773-82b8-dc875f3aacd2',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterface.mapper
-
@network_client.deserialize(network_interface_mapper, nic, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def detach_route_table_from_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id)
-
2
msg = "Detaching Route Table from Subnet: #{subnet_name}"
-
2
Fog::Logger.debug msg
-
2
subnet = get_subnet_object_for_detach_route_table(address_prefix, network_security_group_id)
-
2
begin
-
2
subnet = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug 'Route Table detached successfully.'
-
1
subnet
-
end
-
-
1
private
-
-
1
def get_subnet_object_for_detach_route_table(address_prefix, network_security_group_id)
-
2
subnet = Azure::ARM::Network::Models::Subnet.new
-
2
network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
-
-
2
network_security_group.id = network_security_group_id
-
2
subnet.address_prefix = address_prefix
-
2
subnet.network_security_group = network_security_group unless network_security_group_id.nil?
-
2
subnet.route_table = nil
-
2
subnet
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def detach_route_table_from_subnet(*)
-
subnet = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
subnet_mapper = Azure::ARM::Network::Models::Subnet.mapper
-
@network_client.deserialize(subnet_mapper, subnet, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def get_available_ipaddresses_count(subnet_name, address_prefix, ip_configurations_ids, express_route_enabled)
-
2
Fog::Logger.debug "Getting free IP Address count of Subnet #{subnet_name}"
-
2
total_ipaddresses = (2**(32 - address_prefix.split('/').last.to_i)) - 2
-
2
total_ipaddresses -= 3 if express_route_enabled
-
2
used_ip_address = ip_configurations_ids.nil? ? 0 : ip_configurations_ids.count
-
2
total_ipaddresses - used_ip_address
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def get_available_ipaddress_count(*)
-
65_531
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def get_connection_shared_key(resource_group_name, connection_shared_key_name)
-
2
msg = "Getting the shared key of Connection #{connection_shared_key_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.virtual_network_gateway_connections.get_shared_key(resource_group_name, connection_shared_key_name).value
-
1
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def get_connection_shared_key(*)
-
Fog::Logger.debug 'Get the shared key of Connection successfully.'
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Express Route Circuit Request
-
1
class Real
-
1
def get_express_route_circuit(resource_group_name, circuit_name)
-
2
msg = "Getting Express Route Circuit#{circuit_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.express_route_circuits.get(resource_group_name, circuit_name)
-
1
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
end
-
end
-
-
# Mock class for Express Route Circuit Request
-
1
class Mock
-
1
def get_express_route_circuit(*)
-
{
-
'name' => 'circuit_name',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroup/resource_group_name/providers/Microsoft.Network/expressRouteCircuits/circuit_name',
-
'etag' => 'W/\"00000000-0000-0000-0000-000000000000\"',
-
'location' => 'eastus',
-
'tags' => {
-
'key1' => 'value1',
-
'key2' => 'value2'
-
},
-
'sku' => {
-
'name' => 'Standard_MeteredData',
-
'tier' => 'Standard',
-
'family' => 'MeteredData'
-
},
-
'properties' => {
-
'provisioningState' => 'Succeeded',
-
'circuitProvisioningState' => 'Enabled',
-
'serviceProviderProvisioningState' => 'Provisioned',
-
'serviceProviderProperties' => {
-
'serviceProviderName' => 'Telenor',
-
'peeringLocation' => 'London',
-
'bandwidthInMbps' => 100
-
}
-
},
-
'serviceKey' => '<unique service key for circuit>',
-
'serviceProviderNotes' => '<notes set only by ServiceProvider>'
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Express Route Circuit Authorization Request
-
1
class Real
-
1
def get_express_route_circuit_authorization(resource_group_name, circuit_name, authorization_name)
-
2
msg = @logger_messages['network']['express_route_circuit_authentication']['message']['get']
-
.gsub('NAME', authorization_name).gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
circuit_authorization = @network_client.express_route_circuit_authorizations.get(resource_group_name, circuit_name, authorization_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
circuit_authorization
-
end
-
end
-
-
# Mock class for Express Route Circuit Authorization Request
-
1
class Mock
-
1
def get_express_route_circuit_authorization(*)
-
authorization = {
-
'name' => 'authorization-name',
-
'properties' => {
-
'authorizationKey' => 'authorization-key',
-
'authorizationUseStatus' => 'Available'
-
}
-
}
-
authorization_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitAuthorization.mapper
-
@network_client.deserialize(authorization_mapper, authorization, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Express Route Circuit Peering Request
-
1
class Real
-
1
def get_express_route_circuit_peering(resource_group_name, peering_name, circuit_name)
-
2
msg = "Getting Express Route Circuit Peering #{peering_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
circuit_peering = @network_client.express_route_circuit_peerings.get(resource_group_name, circuit_name, peering_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
circuit_peering
-
end
-
end
-
-
# Mock class for Express Route Circuit Peering Request
-
1
class Mock
-
1
def get_express_route_circuit_peering(*)
-
{
-
'name' => 'peering_name',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/resource_group_name/providers/Microsoft.Network/expressRouteCircuits/circuit_name/peerings/peering_name',
-
'etag' => '',
-
'properties' => {
-
'provisioningState' => 'Succeeded',
-
'peeringType' => 'MicrosoftPeering',
-
'peerASN' => '',
-
'primaryPeerAddressPrefix' => '',
-
'secondaryPeerAddressPrefix' => '',
-
'primaryAzurePort' => 22,
-
'secondaryAzurePort' => 21,
-
'state' => 'Enabled',
-
'sharedKey' => '',
-
'vlanId' => 100,
-
'microsoftPeeringConfig' => {
-
'advertisedpublicprefixes' => %w(prefix1 prefix2),
-
'advertisedPublicPrefixState' => 'ValidationNeeded',
-
'customerAsn' => '',
-
'routingRegistryName' => ''
-
}
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Load-Balancer Request
-
1
class Real
-
1
def get_load_balancer(resource_group_name, load_balancer_name)
-
2
msg = "Getting Load-Balancer: #{load_balancer_name} in Resource Group: #{resource_group_name}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
load_balancer = @network_client.load_balancers.get(resource_group_name, load_balancer_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Getting Load Balancer #{load_balancer_name} Successfully."
-
1
load_balancer
-
end
-
end
-
-
# Mock class for Load-Balancer Request
-
1
class Mock
-
1
def get_load_balancer(*)
-
response = '{
-
"name":"mylb1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1",
-
"location":"North US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"6ECBD4C1-0DC1-4D86-9F6E-4A58F83C9023",
-
"provisioningState":"Succeeded",
-
"frontendIPConfigurations":[
-
{
-
"name":"myip1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/frontendIPConfigurations/myip1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"subnet":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1"
-
},
-
"privateIPAddress":"10.0.0.10",
-
"privateIPAllocationMethod":"Static",
-
"publicIPAddress":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/myip1"
-
},
-
"loadBalancingRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
],
-
"inboundNatRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/inboundNatRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"backendAddressPools":[
-
{
-
"name":"pool1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"backendIPConfigurations":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
}
-
],
-
"loadBalancingRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"loadBalancingRules":[
-
{
-
"name":"HTTP Traffic",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/loadBalancingRules/rule1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"frontendIPConfiguration":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"backendAddressPool":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/backendAddressPool/pool1"
-
},
-
"protocol":"Tcp",
-
"frontendPort":80,
-
"backendPort":8080,
-
"probe":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/probe1"
-
},
-
"enableFloatingIP":true,
-
"idleTimeoutInMinutes":4,
-
"loadDistribution":"Default"
-
}
-
}
-
],
-
"probes":[
-
{
-
"name":"my probe 1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/my probe 1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"protocol":"Tcp",
-
"port":8080,
-
"requestPath":"myprobeapp1/myprobe1.svc",
-
"intervalInSeconds":5,
-
"numberOfProbes":16,
-
"loadBalancingRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"inboundNatRules":[
-
{
-
"name":"RDP Traffic",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/inboundNatRules/RDP Traffic",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"frontendIPConfiguration":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"backendIPConfiguration":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
"protocol":"Tcp",
-
"frontendPort":3389,
-
"backendPort":3389
-
}
-
}
-
],
-
"inboundNatPools":[
-
{
-
"name": "RDPForVMSS1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers /Microsoft.Network/loadBalancers/myLB1/inboundNatRules/RDPForVMSS1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Updating|Deleting|Failed|Succeeded",
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"protocol": "Tcp",
-
"frontendPortRangeStart": 50000,
-
"frontendPortRangeEnd": 50500,
-
"backendPort": 3389
-
}
-
}
-
]
-
}
-
}'
-
load_balancer_mapper = Azure::ARM::Network::Models::LoadBalancer.mapper
-
@network_client.deserialize(load_balancer_mapper, JSON.load(response), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Local Network Gateway Request
-
1
class Real
-
1
def get_local_network_gateway(resource_group_name, local_network_gateway_name)
-
2
msg = @logger_messages['network']['local_network_gateway']['message']['get']
-
.gsub('NAME', local_network_gateway_name).gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
local_network_gateway = @network_client.local_network_gateways.get(resource_group_name, local_network_gateway_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Local Network Gateway #{local_network_gateway_name} retrieved successfully."
-
1
local_network_gateway
-
end
-
end
-
-
# Mock class for Local Network Gateway Request
-
1
class Mock
-
1
def get_local_network_gateway(*)
-
local_network_gateway = {
-
'id' => '/subscriptions/<Subscription_id>/resourceGroups/learn_fog/providers/Microsoft.Network/localNetworkGateways/testLocalNetworkGateway',
-
'name' => 'testLocalNetworkGateway',
-
'type' => 'Microsoft.Network/localNetworkGateways',
-
'location' => 'eastus',
-
'properties' =>
-
{
-
'local_network_address_space' => {
-
'address_prefixes' => []
-
},
-
'gateway_ip_address' => '192.168.1.1',
-
'bgp_settings' => {
-
'asn' => 100,
-
'bgp_peering_address' => '192.168.1.2',
-
'peer_weight' => 3
-
}
-
}
-
}
-
local_network_gateway_mapper = Azure::ARM::Network::Models::LocalNetworkGateway.mapper
-
@network_client.deserialize(local_network_gateway_mapper, local_network_gateway, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Interface Request
-
1
class Real
-
1
def get_network_interface(resource_group_name, nic_name)
-
2
msg = "Getting Network Interface#{nic_name} from Resource Group #{resource_group_name}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.network_interfaces.get(resource_group_name, nic_name)
-
1
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
end
-
end
-
-
# Mock class for Network Interface Request
-
1
class Mock
-
1
def get_network_interface(resource_group_name, nic_name)
-
nic = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkInterfaces/#{nic_name}",
-
'name' => nic_name,
-
'type' => 'Microsoft.Network/networkInterfaces',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'ipConfigurations' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkInterfaces/test-NIC/ipConfigurations/ipconfig1",
-
'properties' =>
-
{
-
'privateIPAddress' => '10.2.0.4',
-
'privateIPAllocationMethod' => 'Dynamic',
-
'subnet' =>
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/fog-test-subnet"
-
},
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'ipconfig1'
-
}
-
],
-
'dnsSettings' =>
-
{
-
'dnsServers' => [],
-
'appliedDnsServers' => []
-
},
-
'enableIPForwarding' => false,
-
'resourceGuid' => '51e01337-fb15-4b04-b9de-e91537c764fd',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterface.mapper
-
@network_client.deserialize(network_interface_mapper, nic, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Security Group Request
-
1
class Real
-
1
def get_network_security_group(resource_group_name, security_group_name)
-
2
msg = "Getting Network Security Group #{security_group_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
security_group = @network_client.network_security_groups.get(resource_group_name, security_group_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Network Security Group #{security_group_name} retrieved successfully."
-
1
security_group
-
end
-
end
-
-
# Mock class for Network Security Group Request
-
1
class Mock
-
1
def get_network_security_group(resource_group_name, security_group_name)
-
network_security_group = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}",
-
'name' => security_group_name,
-
'type' => 'Microsoft.Network/networkSecurityGroups',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'securityRules' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/securityRules/testRule",
-
'properties' =>
-
{
-
'protocol' => 'tcp',
-
'sourceAddressPrefix' => '0.0.0.0/0',
-
'destinationAddressPrefix' => '0.0.0.0/0',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'sourcePortRange' => '22',
-
'destinationPortRange' => '22',
-
'priority' => 100,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'testRule'
-
}
-
],
-
'defaultSecurityRules' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowVnetInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'AllowVnetInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowAzureLoadBalancerInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'AzureLoadBalancer',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from azure load balancer',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'AllowAzureLoadBalancerInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/DenyAllInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Inbound',
-
'description' => 'Deny all inbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'DenyAllInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowVnetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'AllowVnetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowInternetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => 'Internet',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to Internet',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'AllowInternetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/DenyAllOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Outbound',
-
'description' => 'Deny all outbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'DenyAllOutBound'
-
}
-
],
-
'resourceGuid' => '9dca97e6-4789-4ebd-86e3-52b8b0da6cd4',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
nsg_mapper = Azure::ARM::Network::Models::NetworkSecurityGroup.mapper
-
@network_client.deserialize(nsg_mapper, network_security_group, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Security rule Request
-
1
class Real
-
1
def get_network_security_rule(resource_group_name, network_security_group_name, security_rule_name)
-
2
msg = "Getting Network Security Rule #{security_rule_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
security_rule = @network_client.security_rules.get(resource_group_name, network_security_group_name, security_rule_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Network Security Rule #{security_rule_name} retrieved successfully."
-
1
security_rule
-
end
-
end
-
-
# Mock class for Network Security Rule Request
-
1
class Mock
-
1
def get_network_security_rule(*)
-
nsr = '{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":6500,
-
"direction":"Inbound"
-
}
-
}'
-
nsr_mapper = Azure::ARM::Network::Models::SecurityRule.mapper
-
@network_client.deserialize(nsr_mapper, JSON.load(nsr), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def get_public_ip(resource_group_name, public_ip_name)
-
2
Fog::Logger.debug "Getting Public IP #{public_ip_name} from Resource Group #{resource_group_name}"
-
2
begin
-
2
public_ip = @network_client.public_ipaddresses.get(resource_group_name, public_ip_name)
-
1
Fog::Logger.debug "Public IP #{public_ip_name} retrieved successfully"
-
1
public_ip
-
1
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, "Getting Public IP #{public_ip_name} from Resource Group #{resource_group_name}")
-
end
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def get_public_ip(resource_group_name, public_ip_name)
-
public_ip = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/publicIPAddresses/#{public_ip_name}",
-
'name' => public_ip_name,
-
'type' => 'Microsoft.Network/publicIPAddresses',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'publicIPAllocationMethod' => 'Dynamic',
-
'ipAddress' => '13.91.253.67',
-
'idleTimeoutInMinutes' => 4,
-
'resourceGuid' => '767b1955-94de-433c-8e4a-ea0ad25e8d0c',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
public_ip_mapper = Azure::ARM::Network::Models::PublicIPAddress.mapper
-
@network_client.deserialize(public_ip_mapper, public_ip, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def get_subnet(resource_group, virtual_network_name, subnet_name)
-
2
msg = "Getting Subnet: #{subnet_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
subnet = @network_client.subnets.get(resource_group, virtual_network_name, subnet_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Subnet #{subnet_name} retrieved successfully."
-
1
subnet
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def get_subnet(*)
-
subnet = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
subnet_mapper = Azure::ARM::Network::Models::Subnet.mapper
-
@network_client.deserialize(subnet_mapper, subnet, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def get_virtual_network(resource_group_name, virtual_network_name)
-
2
get_vnet(resource_group_name, virtual_network_name)
-
end
-
-
1
private
-
-
1
def get_vnet(resource_group_name, virtual_network_name)
-
14
msg = "Getting Virtual Network: #{virtual_network_name}."
-
14
Fog::Logger.debug msg
-
14
begin
-
14
virtual_network = @network_client.virtual_networks.get(resource_group_name, virtual_network_name)
-
rescue MsRestAzure::AzureOperationError => e
-
7
raise_azure_exception(e, msg)
-
end
-
7
Fog::Logger.debug "Virtual Network #{virtual_network_name} retrieved successfully."
-
7
virtual_network
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def get_virtual_network(*)
-
virtual_network = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet',
-
'name' => 'fog-vnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
%w(10.1.0.0/16 10.2.0.0/16)
-
},
-
'subnets' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
@network_client.deserialize(vnet_mapper, virtual_network, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Gateway Request
-
1
class Real
-
1
def get_virtual_network_gateway(resource_group_name, network_gateway_name)
-
2
msg = "Getting Virtual Network Gateway #{network_gateway_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
network_gateway = @network_client.virtual_network_gateways.get(resource_group_name, network_gateway_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Network Gateway #{network_gateway_name} retrieved successfully."
-
1
network_gateway
-
end
-
end
-
-
# Mock class for Network Gateway Request
-
1
class Mock
-
1
def get_virtual_network_gateway(*)
-
gateway = {
-
'name' => 'myvirtualgateway1',
-
'id' => '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/microsoft.network/virtualNetworkGateways/myvirtualgateway1',
-
'location' => 'West US',
-
'tags' => { 'key1' => 'value1' },
-
'properties' => {
-
'gatewayType' => 'DynamicRouting',
-
'gatewaySize' => 'Default',
-
'subnet' => {
-
'id' => '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/microsoft.network/virtualNetworks/<virtualNetworkName>/subnets/subnet1'
-
},
-
'vipAddress' => '{vipAddress}',
-
'bgpEnabled' => true,
-
'vpnClientAddressPool' => ['{vpnClientAddressPoolPrefix}'],
-
'defaultSites' => ['mysite1']
-
}
-
}
-
gateway_mapper = Azure::ARM::Network::Models::VirtualNetworkGateway.mapper
-
@network_client.deserialize(gateway_mapper, gateway, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Virtual Network Gateway Connection Request
-
1
class Real
-
1
def get_virtual_network_gateway_connection(resource_group_name, gateway_connection_name)
-
2
msg = @logger_messages['network']['virtual_network_gateway_connection']['message']['get']
-
.gsub('NAME', gateway_connection_name).gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
gateway_connection = @network_client.virtual_network_gateway_connections.get(resource_group_name, gateway_connection_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Virtual Network Gateway Connection #{gateway_connection_name} retrieved successfully."
-
1
gateway_connection
-
end
-
end
-
-
# Mock class for Network Gateway Connection Request
-
1
class Mock
-
1
def get_virtual_network_gateway_connection(*)
-
connection = {
-
'name' => 'cn1',
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/connections/connection1',
-
'location' => 'West US',
-
'tags' => { 'key1' => 'value1' },
-
'properties' => {
-
'virtualNetworkGateway1' => {
-
'name' => 'firstgateway',
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/firstgateway'
-
},
-
'virtualNetworkGateway2' => {
-
'name' => 'secondgateway',
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/secondgateway'
-
},
-
'connectionType' => 'SiteToSite',
-
'connectivityState' => 'Connected'
-
}
-
}
-
connection_mapper = Azure::ARM::Network::Models::VirtualNetworkGatewayConnection.mapper
-
@network_client.deserialize(connection_mapper, connection, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Express Route Circuit Authorization Request
-
1
class Real
-
1
def list_express_route_circuit_authorizations(resource_group_name, circuit_name)
-
2
msg = @logger_messages['network']['express_route_circuit_authentication']['message']['list']
-
.gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
circuit_authorizations = @network_client.express_route_circuit_authorizations.list(resource_group_name, circuit_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
circuit_authorizations
-
end
-
end
-
-
# Mock class for Express Route Circuit Authorization Request
-
1
class Mock
-
1
def list_express_route_circuit_authorizations(*)
-
authorizations = [
-
{
-
'name' => 'authorization-name',
-
'properties' => {
-
'authorizationKey' => 'authorization-key',
-
'authorizationUseStatus' => 'Available'
-
}
-
}
-
]
-
authorization_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitAuthorization.mapper
-
@network_client.deserialize(authorization_mapper, authorizations, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_express_route_circuit_peerings(resource_group_name, circuit_name)
-
2
msg = "Getting list of Express Route Circuit Peerings from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
circuit_peerings = @network_client.express_route_circuit_peerings.list(resource_group_name, circuit_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
circuit_peerings
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_express_route_circuit_peerings(*)
-
[
-
{
-
'name' => 'AzurePrivatePeering',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/resource_group_name/providers/Microsoft.Network/expressRouteCircuits/circuit_name/peerings/Private',
-
'etag' => 'W/\"cb87537e-fd92-48c7-905f-2efc95a47c8f\"',
-
'properties' => {
-
'provisioningState' => 'Succeeded',
-
'peeringType' => 'AzurePrivatePeering',
-
'azureASN' => 120,
-
'peerASN' => 100,
-
'primaryPeerAddressPrefix' => '192.168.1.0/30',
-
'secondaryPeerAddressPrefix' => '192.168.2.0/30',
-
'primaryAzurePort' => 'BRKAZUREIXP01-BN1-04GMR-CIS-1-PRIMARY',
-
'secondaryAzurePort' => 'BRKAZUREIXP01-DM2-04GMR-CIS-1-SECONDARY',
-
'state' => 'Enabled',
-
'vlanId' => 200
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_express_route_circuits(resource_group_name)
-
2
msg = "Getting list of Express Route Circuits from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@network_client.express_route_circuits.list(resource_group_name)
-
1
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_express_route_circuits(*)
-
[
-
{
-
'name' => 'testCircuit',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroup/resource_group_name/providers/Microsoft.Network/expressRouteCircuits/circuitName',
-
'etag' => 'W/\"00000000-0000-0000-0000-000000000000\"',
-
'location' => 'eastus',
-
'tags' => {
-
'key1' => 'value1',
-
'key2' => 'value2'
-
},
-
'sku' => {
-
'name' => 'Standard_MeteredData',
-
'tier' => 'Standard',
-
'family' => 'MeteredData'
-
},
-
'properties' => {
-
'provisioningState' => 'Succeeded',
-
'circuitProvisioningState' => 'Enabled',
-
'serviceProviderProvisioningState' => 'Provisioned',
-
'serviceProviderProperties' => {
-
'serviceProviderName' => 'Telenor',
-
'peeringLocation' => 'London',
-
'bandwidthInMbps' => 100
-
}
-
},
-
'serviceKey' => '<unique service key for circuit>',
-
'serviceProviderNotes' => '<notes set only by ServiceProvider>'
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_express_route_service_providers
-
2
msg = 'Getting list of Express Route Service Providers.'
-
2
Fog::Logger.debug msg
-
2
begin
-
2
service_providers = @network_client.express_route_service_providers.list
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
service_providers
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_express_route_service_providers
-
[
-
{
-
'name' => 'Telenor',
-
'peeringLocations' => %w(London Karachi),
-
'bandwidthsOffered' => [
-
{
-
'offerName' => '100Mbps',
-
'valueInMbps' => 100
-
}
-
]
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_load_balancers(resource_group)
-
2
msg = "Getting list of Load-Balancers from Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
load_balancers = @network_client.load_balancers.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully retrieved load balancers from Resource Group #{resource_group}"
-
1
load_balancers.value
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_load_balancers(_resource_group)
-
lb = Azure::ARM::Network::Models::LoadBalancer.new
-
lb.name = 'fogtestloadbalancer'
-
lb.location = 'West US'
-
lb.properties = Azure::ARM::Network::Models::LoadBalancerPropertiesFormat.new
-
[lb]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Local Network Gateway Request
-
1
class Real
-
1
def list_local_network_gateways(resource_group_name)
-
2
msg = @logger_messages['network']['local_network_gateway']['message']['list']
-
.gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
local_network_gateways = @network_client.local_network_gateways.list_as_lazy(resource_group_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
local_network_gateways.value
-
end
-
end
-
-
# Mock class for Local Network Gateway Request
-
1
class Mock
-
1
def list_virtual_network_gateways(*)
-
local_network_gateway = {
-
'value' => [
-
{
-
'id' => '/subscriptions/<Subscription_id>/resourceGroups/learn_fog/providers/Microsoft.Network/localNetworkGateways/testLocalNetworkGateway',
-
'name' => 'testLocalNetworkGateway',
-
'type' => 'Microsoft.Network/localNetworkGateways',
-
'location' => 'eastus',
-
'properties' =>
-
{
-
'local_network_address_space' => {
-
'address_prefixes' => []
-
},
-
'gateway_ip_address' => '192.168.1.1',
-
'bgp_settings' => {
-
'asn' => 100,
-
'bgp_peering_address' => '192.168.1.2',
-
'peer_weight' => 3
-
}
-
}
-
}
-
]
-
}
-
local_network_gateway_mapper = Azure::ARM::Network::Models::LocalNetworkGatewayListResult.mapper
-
@network_client.deserialize(local_network_gateway_mapper, local_network_gateway, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_network_interfaces(resource_group)
-
2
msg = "Getting list of NetworkInterfaces from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
network_interfaces = @network_client.network_interfaces.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
network_interfaces.value
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_network_interfaces(resource_group)
-
nic =
-
{
-
'value' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkInterfaces/test-NIC",
-
'name' => 'test-NIC',
-
'type' => 'Microsoft.Network/networkInterfaces',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'ipConfigurations' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkInterfaces/test-NIC/ipConfigurations/ipconfig1",
-
'properties' =>
-
{
-
'privateIPAddress' => '10.2.0.4',
-
'privateIPAllocationMethod' => 'Dynamic',
-
'subnet' =>
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/fog-test-subnet"
-
},
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'ipconfig1'
-
}
-
],
-
'dnsSettings' =>
-
{
-
'dnsServers' => [],
-
'appliedDnsServers' => []
-
},
-
'enableIPForwarding' => false,
-
'resourceGuid' => '51e01337-fb15-4b04-b9de-e91537c764fd',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
]
-
}
-
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterfaceListResult.mapper
-
@network_client.deserialize(network_interface_mapper, nic, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_network_security_groups(resource_group)
-
2
msg = "Getting list of Network Security Groups from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
nsg_list_result = @network_client.network_security_groups.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Network Security Groups list retrieved successfully from Resource Group #{resource_group}."
-
1
nsg_list_result.value
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_network_security_groups(resource_group)
-
nsg_list_result = {
-
'value' => [
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkSecurityGroups/testGroup",
-
'name' => 'testGroup',
-
'type' => 'Microsoft.Network/networkSecurityGroups',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'securityRules' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkSecurityGroups/testGroup/securityRules/testRule",
-
'properties' =>
-
{
-
'protocol' => 'tcp',
-
'sourceAddressPrefix' => '0.0.0.0/0',
-
'destinationAddressPrefix' => '0.0.0.0/0',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'sourcePortRange' => '22',
-
'destinationPortRange' => '22',
-
'priority' => 100,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'testRule'
-
}
-
],
-
'defaultSecurityRules' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkSecurityGroups/testGroup/defaultSecurityRules/AllowVnetInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'AllowVnetInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkSecurityGroups/testGroup/defaultSecurityRules/AllowAzureLoadBalancerInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'AzureLoadBalancer',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from azure load balancer',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'AllowAzureLoadBalancerInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkSecurityGroups/testGroup/defaultSecurityRules/DenyAllInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Inbound',
-
'description' => 'Deny all inbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'DenyAllInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkSecurityGroups/testGroup/defaultSecurityRules/AllowVnetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'AllowVnetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkSecurityGroups/testGroup/defaultSecurityRules/AllowInternetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => 'Internet',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to Internet',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'AllowInternetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkSecurityGroups/testGroup/defaultSecurityRules/DenyAllOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Outbound',
-
'description' => 'Deny all outbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'DenyAllOutBound'
-
}
-
],
-
'resourceGuid' => '9dca97e6-4789-4ebd-86e3-52b8b0da6cd4',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
]
-
}
-
nsg_mapper = Azure::ARM::Network::Models::NetworkInterfaceListResult.mapper
-
@network_client.deserialize(nsg_mapper, nsg_list_result, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_network_security_rules(resource_group, network_security_group_name)
-
2
msg = "Getting list of Network Security Rule in Security Group #{network_security_group_name} from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
nsr_list_result = @network_client.security_rules.list_as_lazy(resource_group, network_security_group_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Network Security Rules list retrieved successfully from Resource Group #{resource_group}."
-
1
nsr_list_result.value
-
end
-
end
-
-
# Mock class for Network Security Rule Request
-
1
class Mock
-
1
def list_network_security_rules(*)
-
nsr_list = '{
-
"value":[
-
{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":100,
-
"direction":"Inbound"
-
}
-
}
-
]
-
}'
-
nsr_mapper = Azure::ARM::Network::Models::SecurityRuleListResult.mapper
-
@network_client.deserialize(nsr_mapper, JSON.load(nsr_list), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_public_ips(resource_group)
-
2
Fog::Logger.debug "Getting list of PublicIPs from Resource Group #{resource_group}."
-
2
begin
-
2
public_ips = @network_client.public_ipaddresses.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, "Getting list of PublicIPs from Resource Group #{resource_group}")
-
end
-
1
Fog::Logger.debug 'Public IP listed successfully'
-
1
public_ips.value
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_public_ips(resource_group)
-
public_ip = {
-
'value' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/publicIPAddresses/test-PubIP",
-
'name' => 'test-PubIP',
-
'type' => 'Microsoft.Network/publicIPAddresses',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'publicIPAllocationMethod' => 'Static',
-
'ipAddress' => '13.93.203.153',
-
'idleTimeoutInMinutes' => 4,
-
'resourceGuid' => 'c78f0c95-d8b9-409b-897c-74260b686392',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
]
-
}
-
public_ip_mapper = Azure::ARM::Network::Models::PublicIPAddressListResult.mapper
-
@network_client.deserialize(public_ip_mapper, public_ip, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_subnets(resource_group, virtual_network_name)
-
2
msg = "Listing Subnets int Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
subnets = @network_client.subnets.list_as_lazy(resource_group, virtual_network_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
subnets.value
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_subnets(resource_group, virtual_network_name)
-
subnet = {
-
'value' => [
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/virtualNetworks/#{virtual_network_name}/subnets/subnet_0_testVnet",
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'subnet_0_testVnet'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/virtualNetworks/#{virtual_network_name}/subnets/fog-test-subnet",
-
'properties' =>
-
{
-
'addressPrefix' => '10.2.0.0/16',
-
'ipConfigurations' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkInterfaces/test-NIC/ipConfigurations/ipconfig1"
-
}
-
],
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-test-subnet'
-
}
-
]
-
}
-
subnet_mapper = Azure::ARM::Network::Models::SubnetListResult.mapper
-
@network_client.deserialize(subnet_mapper, subnet, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_virtual_network_gateway_connections(resource_group_name)
-
2
msg = @logger_messages['network']['virtual_network_gateway_connection']['message']['list']
-
.gsub('RESOURCE_GROUP', resource_group_name)
-
2
Fog::Logger.debug msg
-
2
begin
-
2
gateway_connections = @network_client.virtual_network_gateway_connections.list_as_lazy(resource_group_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
gateway_connections.value
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_virtual_network_gateway_connections(*)
-
connection = {
-
'value' => [
-
{
-
'name' => 'cn1',
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/connections/connection1',
-
'location' => 'West US',
-
'tags' => { 'key1' => 'value1' },
-
'properties' => {
-
'virtualNetworkGateway1' => {
-
'name' => 'firstgateway',
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/firstgateway'
-
},
-
'virtualNetworkGateway2' => {
-
'name' => 'secondgateway',
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/secondgateway'
-
},
-
'connectionType' => 'SiteToSite',
-
'connectivityState' => 'Connected'
-
}
-
}
-
]
-
}
-
connection_mapper = Azure::ARM::Network::Models::VirtualNetworkGatewayConnectionListResult.mapper
-
@network_client.deserialize(connection_mapper, connection, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def list_virtual_network_gateways(resource_group)
-
2
msg = "Getting list of Virtual Network Gateway from Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
network_gateways = @network_client.virtual_network_gateways.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
network_gateways.value
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def list_virtual_network_gateways(*)
-
gateway = {
-
'value' => [
-
{
-
'name' => 'myvirtualgateway1',
-
'location' => 'West US',
-
'tags' => { 'key1' => 'value1' },
-
'properties' => {
-
'gatewayType' => 'DynamicRouting',
-
'gatewaySize' => 'Default',
-
'bgpEnabled' => true,
-
'vpnClientAddressPool' => ['{vpnClientAddressPoolPrefix}'],
-
'defaultSites' => ['mysite1']
-
}
-
}
-
]
-
}
-
gateway_mapper = Azure::ARM::Network::Models::VirtualNetworkGatewayListResult.mapper
-
@network_client.deserialize(gateway_mapper, gateway, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_virtual_networks(resource_group)
-
2
msg = "Listing Virtual Networks in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
virtual_networks = @network_client.virtual_networks.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
virtual_networks.value
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_virtual_networks(resource_group)
-
virtual_network = {
-
'value' => [
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/virtualNetworks/testVnet",
-
'name' => 'testVnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
%w(10.1.0.0/16 10.2.0.0/16)
-
},
-
'subnets' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/subnet_0_testVnet",
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'subnet_0_testVnet'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/fog-test-subnet",
-
'properties' =>
-
{
-
'addressPrefix' => '10.2.0.0/16',
-
'ipConfigurations' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/Microsoft.Network/networkInterfaces/test-NIC/ipConfigurations/ipconfig1"
-
}
-
],
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-test-subnet'
-
}
-
],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
]
-
}
-
vnet_mapper = Azure::ARM::Network::Models::VirtualNetworkListResult.mapper
-
@network_client.deserialize(vnet_mapper, virtual_network, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def remove_address_prefixes_from_virtual_network(resource_group_name, virtual_network_name, address_prefixes)
-
2
Fog::Logger.debug "Removing Address Prefixes: #{address_prefixes.join(', ')} from Virtual Network: #{virtual_network_name}"
-
2
virtual_network = get_virtual_network_object_for_remove_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes)
-
1
virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
-
1
Fog::Logger.debug "Address Prefixes: #{address_prefixes.join(', ')} removed successfully."
-
1
virtual_network
-
end
-
-
1
private
-
-
1
def get_virtual_network_object_for_remove_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes)
-
2
virtual_network = get_vnet(resource_group_name, virtual_network_name)
-
1
attached_address_prefixes = virtual_network.address_space.address_prefixes
-
1
virtual_network.address_space.address_prefixes = attached_address_prefixes - address_prefixes
-
1
virtual_network
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def remove_address_prefixes_from_virtual_network(*)
-
virtual_network = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet',
-
'name' => 'fog-vnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
[
-
'10.1.0.0/16'
-
]
-
},
-
'dhcpOptions' => {
-
'dnsServers' => [
-
'10.1.0.5',
-
'10.1.0.6'
-
]
-
},
-
'subnets' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
@network_client.deserialize(vnet_mapper, virtual_network, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def remove_dns_servers_from_virtual_network(resource_group_name, virtual_network_name, dns_servers)
-
2
Fog::Logger.debug "Removing DNS Servers: #{dns_servers.join(', ')} from Virtual Network: #{virtual_network_name}"
-
2
virtual_network = get_virtual_network_object_for_remove_dns_servers!(resource_group_name, virtual_network_name, dns_servers)
-
1
virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
-
1
Fog::Logger.debug "DNS Servers: #{dns_servers.join(', ')} removed successfully."
-
1
virtual_network
-
end
-
-
1
private
-
-
1
def get_virtual_network_object_for_remove_dns_servers!(resource_group_name, virtual_network_name, dns_servers)
-
2
virtual_network = get_vnet(resource_group_name, virtual_network_name)
-
1
attached_dns_servers = virtual_network.dhcp_options.dns_servers
-
1
virtual_network.dhcp_options.dns_servers = attached_dns_servers - dns_servers
-
1
virtual_network
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def remove_dns_servers_from_virtual_network(*)
-
virtual_network = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet',
-
'name' => 'fog-vnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
[
-
'10.1.0.0/16',
-
'10.2.0.0/16'
-
]
-
},
-
'dhcpOptions' => {
-
'dnsServers' => [
-
'10.1.0.5'
-
]
-
},
-
'subnets' =>
-
[
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet/subnets/fog-subnet',
-
'properties' =>
-
{
-
'addressPrefix' => '10.1.0.0/24',
-
'provisioningState' => 'Succeeded'
-
},
-
'name' => 'fog-subnet'
-
}
-
],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
@network_client.deserialize(vnet_mapper, virtual_network, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def remove_security_rule(resource_group_name, security_group_name, security_rule_name)
-
2
msg = "Deleting security rule #{security_rule_name} from Network Security Group #{security_group_name}."
-
2
Fog::Logger.debug msg
-
-
2
nsg = @network_client.network_security_groups.get(resource_group_name, security_group_name)
-
1
updated_security_rule_list = remove_security_rule_from_list(nsg.security_rules, security_rule_name)
-
1
nsg.security_rules = updated_security_rule_list
-
-
1
begin
-
1
nsg = @network_client.network_security_groups.begin_create_or_update(resource_group_name, security_group_name, nsg)
-
rescue MsRestAzure::AzureOperationError => e
-
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Security Rule #{security_rule_name} deleted from Network Security Group #{security_group_name} successfully!"
-
1
nsg
-
end
-
-
1
def remove_security_rule_from_list(security_rule_list, rule_name)
-
1
unless security_rule_list.nil?
-
3
return security_rule_list.select { |sr| sr.name != rule_name }
-
end
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def remove_security_rule(resource_group_name, security_group_name, _security_rule_name)
-
network_security_group = {
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{name}",
-
'name' => security_group_name,
-
'type' => 'Microsoft.Network/networkSecurityGroups',
-
'location' => 'location',
-
'properties' =>
-
{
-
'securityRules' => [],
-
'defaultSecurityRules' =>
-
[
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowVnetInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowVnetInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowAzureLoadBalancerInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'AzureLoadBalancer',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Allow',
-
'direction' => 'Inbound',
-
'description' => 'Allow inbound traffic from azure load balancer',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowAzureLoadBalancerInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/DenyAllInBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Inbound',
-
'description' => 'Deny all inbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'DenyAllInBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowVnetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => 'VirtualNetwork',
-
'destinationAddressPrefix' => 'VirtualNetwork',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to all VMs in VNET',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_000,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowVnetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/AllowInternetOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => 'Internet',
-
'access' => 'Allow',
-
'direction' => 'Outbound',
-
'description' => 'Allow outbound traffic from all VMs to Internet',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_001,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'AllowInternetOutBound'
-
},
-
{
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group_name}/providers/Microsoft.Network/networkSecurityGroups/#{security_group_name}/defaultSecurityRules/DenyAllOutBound",
-
'properties' =>
-
{
-
'protocol' => '*',
-
'sourceAddressPrefix' => '*',
-
'destinationAddressPrefix' => '*',
-
'access' => 'Deny',
-
'direction' => 'Outbound',
-
'description' => 'Deny all outbound traffic',
-
'sourcePortRange' => '*',
-
'destinationPortRange' => '*',
-
'priority' => 65_500,
-
'provisioningState' => 'Updating'
-
},
-
'name' => 'DenyAllOutBound'
-
}
-
],
-
'resourceGuid' => '9dca97e6-4789-4ebd-86e3-52b8b0da6cd4',
-
'provisioningState' => 'Updating'
-
}
-
}
-
nsg_mapper = Azure::ARM::Network::Models::NetworkSecurityGroup.mapper
-
@network_client.deserialize(nsg_mapper, network_security_group, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def remove_subnets_from_virtual_network(resource_group_name, virtual_network_name, subnet_names)
-
2
Fog::Logger.debug "Removing Subnets:#{subnet_names.join(', ')} from Virtual Network: #{virtual_network_name}"
-
2
virtual_network = get_virtual_network_object_for_remove_subnets!(resource_group_name, virtual_network_name, subnet_names)
-
1
result = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
-
1
Fog::Logger.debug "Subnets:#{subnet_names.join(', ')} removed successfully."
-
1
result
-
end
-
-
1
private
-
-
1
def get_virtual_network_object_for_remove_subnets!(resource_group_name, virtual_network_name, subnet_names)
-
2
virtual_network = get_vnet(resource_group_name, virtual_network_name)
-
1
old_subnet_objects = virtual_network.subnets
-
1
virtual_network.subnets = old_subnet_objects.reject { |subnet| subnet_names.include?(subnet.name) }
-
1
virtual_network
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def remove_subnets_from_virtual_network(*)
-
virtual_network = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-rg/providers/Microsoft.Network/virtualNetworks/fog-vnet',
-
'name' => 'fog-vnet',
-
'type' => 'Microsoft.Network/virtualNetworks',
-
'location' => 'westus',
-
'properties' =>
-
{
-
'addressSpace' =>
-
{
-
'addressPrefixes' =>
-
[
-
'10.1.0.0/16',
-
'10.2.0.0/16'
-
]
-
},
-
'dhcpOptions' => {
-
'dnsServers' => [
-
'10.1.0.5',
-
'10.1.0.6'
-
]
-
},
-
'subnets' => [],
-
'resourceGuid' => 'c573f8e2-d916-493f-8b25-a681c31269ef',
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
@network_client.deserialize(vnet_mapper, virtual_network, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def reset_connection_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key_length)
-
2
msg = "Resetting the shared key of Connection #{virtual_network_gateway_connection_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
shared_key = get_reset_shared_key_object(shared_key_length)
-
2
begin
-
2
@network_client.virtual_network_gateway_connections.reset_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
true
-
end
-
-
1
private
-
-
1
def get_reset_shared_key_object(shared_key_length)
-
2
shared_key = Azure::ARM::Network::Models::ConnectionResetSharedKey.new
-
2
shared_key.key_length = shared_key_length
-
2
shared_key
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def reset_connection_shared_key(*)
-
Fog::Logger.debug 'Reset the shared key of Connection successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Network
-
1
class AzureRM
-
# Real class for Network Request
-
1
class Real
-
1
def set_connection_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key_value)
-
2
msg = "Setting the shared key of Connection #{virtual_network_gateway_connection_name} from Resource Group #{resource_group_name}."
-
2
Fog::Logger.debug msg
-
2
shared_key = get_shared_key_object(shared_key_value)
-
2
begin
-
2
@network_client.virtual_network_gateway_connections.set_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
true
-
end
-
-
1
private
-
-
1
def get_shared_key_object(shared_key_value)
-
2
shared_key = Azure::ARM::Network::Models::ConnectionSharedKey.new
-
2
shared_key.value = shared_key_value
-
2
shared_key
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def set_connection_shared_key(*)
-
Fog::Logger.debug 'Set the shared key of Connection successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def create_deployment(resource_group, deployment_name, template_link, parameters_link)
-
2
msg = "Creating Deployment: #{deployment_name} in Resource Group: #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
deployment = create_deployment_object(template_link, parameters_link)
-
2
begin
-
2
@rmc.deployments.validate(resource_group, deployment_name, deployment)
-
2
deployment = @rmc.deployments.create_or_update(resource_group, deployment_name, deployment)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Deployment: #{deployment_name} in Resource Group: #{resource_group} created successfully."
-
1
deployment
-
end
-
-
1
private
-
-
1
def create_deployment_object(template_link, parameters_link)
-
2
deployment = Azure::ARM::Resources::Models::Deployment.new
-
2
deployment_properties = Azure::ARM::Resources::Models::DeploymentProperties.new
-
-
2
template_link_obj = Azure::ARM::Resources::Models::TemplateLink.new
-
2
template_link_obj.uri = template_link
-
-
2
parameters_link_obj = Azure::ARM::Resources::Models::ParametersLink.new
-
2
parameters_link_obj.uri = parameters_link
-
-
2
deployment_properties.template_link = template_link_obj
-
2
deployment_properties.parameters_link = parameters_link_obj
-
2
deployment_properties.mode = 'Incremental'
-
-
2
deployment.properties = deployment_properties
-
2
deployment
-
end
-
end
-
-
# This class provides the mock implementation
-
1
class Mock
-
1
def create_deployment(resource_group, deployment_name, template_link, parameters_link)
-
deployment = {
-
id: "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/microsoft.resources/deployments/#{deployment_name}",
-
name: deployment_name,
-
properties: {
-
templateLink: {
-
uri: template_link,
-
contentVersion: '1.0.0.0'
-
},
-
parametersLink: {
-
uri: parameters_link,
-
contentVersion: '1.0.0.0'
-
},
-
parameters: {
-
parameter1: {
-
type: 'string',
-
value: 'parameter1'
-
}
-
},
-
mode: 'Incremental',
-
provisioningState: 'Accepted',
-
timestamp: '2015-01-01T18:26:20.6229141Z',
-
correlationId: 'd5062e45-6e9f-4fd3-a0a0-6b2c56b15757',
-
outputs: {
-
key1: {
-
type: 'string',
-
value: 'output1'
-
}
-
},
-
providers: [{
-
namespace: 'namespace1',
-
resourceTypes: [{
-
resourceType: 'resourceType1',
-
locations: ['westus']
-
}]
-
}],
-
dependencies: [{
-
dependsOn: [{
-
id: 'resourceid1',
-
resourceType: 'namespace1/resourcetype1',
-
resourceName: 'resourcename1'
-
}],
-
id: 'resourceid2',
-
resourceType: 'namespace1/resourcetype2',
-
resourceName: 'resourcename2'
-
}]
-
}
-
}
-
result_mapper = Azure::ARM::Resources::Models::DeploymentExtended.mapper
-
@rmc.deserialize(result_mapper, deployment, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def create_resource_group(name, location)
-
2
msg = "Creating Resource Group: #{name}."
-
2
Fog::Logger.debug msg
-
2
resource_group = Azure::ARM::Resources::Models::ResourceGroup.new
-
2
resource_group.location = location
-
2
begin
-
2
resource_group = @rmc.resource_groups.create_or_update(name, resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Resource Group #{name} created successfully."
-
1
resource_group
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def create_resource_group(name, location)
-
resource_group = {
-
'location' => location,
-
'id' => "/subscriptions/########-####-####-####-############/resourceGroups/#{name}",
-
'name' => name,
-
'properties' =>
-
{
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
result_mapper = Azure::ARM::Resources::Models::ResourceGroup.mapper
-
@rmc.deserialize(result_mapper, resource_group, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_deployment(resource_group, deployment_name)
-
2
msg = "Deleting Deployment: #{deployment_name} in Resource Group: #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@rmc.deployments.delete(resource_group, deployment_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Deployment: #{deployment_name} in Resource Group: #{resource_group} deleted successfully."
-
1
true
-
end
-
end
-
-
# This class provides the mock implementation
-
1
class Mock
-
1
def delete_deployment(_resource_group, deployment_name)
-
Fog::Logger.debug "Deployment: #{deployment_name} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_resource_group(name)
-
2
msg = "Deleting Resource Group: #{name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@rmc.resource_groups.delete(name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Resource Group #{name} deleted successfully."
-
1
true
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def delete_resource_group(name)
-
Fog::Logger.debug "Resource Group #{name} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_resource_tag(resource_id, tag_name, tag_value)
-
3
split_resource = resource_id.split('/') unless resource_id.nil?
-
3
if split_resource.count != 9
-
1
raise 'Invalid Resource Id'
-
end
-
-
2
resource_group_name = get_resource_from_resource_id(resource_id, RESOURCE_GROUP_NAME)
-
2
resource_provider_namespace = get_resource_from_resource_id(resource_id, RESOURCE_PROVIDER_NAMESPACE)
-
2
resource_type = get_resource_from_resource_id(resource_id, RESOURCE_TYPE)
-
2
resource_name = get_resource_from_resource_id(resource_id, RESOURCE_NAME)
-
-
2
msg = "Deleting Tag #{tag_name} from Resource #{resource_name}"
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
resource = @rmc.resources.get(resource_group_name, resource_provider_namespace, '', resource_type, resource_name, API_VERSION)
-
-
2
if resource.tags.key?(tag_name)
-
4
resource.tags.delete_if { |key, value| key == tag_name && value == tag_value }
-
end
-
2
@rmc.resources.create_or_update(resource_group_name, resource_provider_namespace, '', resource_type, resource_name, API_VERSION, resource)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Tag #{tag_name} deleted successfully from Resource #{resource_name}"
-
1
true
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def delete_resource_tag(_resource_id, tag_name, _tag_value)
-
Fog::Logger.debug "Tag #{tag_name} deleted successfully from Resource your-resource-name"
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_deployment(resource_group, deployment_name)
-
2
msg = "Getting Deployment #{deployment_name} in Resource Group: #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
deployment = @rmc.deployments.get(resource_group, deployment_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Getting deployment #{deployment_name} successfully in Resource Group: #{resource_group}"
-
1
deployment
-
end
-
end
-
-
# This class provides the mock implementation
-
1
class Mock
-
1
def get_deployment(*)
-
deployments = {
-
id: "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/microsoft.resources/deployments/testdeployment",
-
name: 'testdeployment',
-
properties: {
-
templateLink: {
-
uri: 'https://test.com/template.json',
-
contentVersion: '1.0.0.0'
-
},
-
parametersLink: {
-
uri: 'https://test.com/parameters.json',
-
contentVersion: '1.0.0.0'
-
},
-
parameters: {
-
parameter1: {
-
type: 'string',
-
value: 'parameter1'
-
}
-
},
-
mode: 'Incremental',
-
provisioningState: 'Accepted',
-
timestamp: '2015-01-01T18:26:20.6229141Z',
-
correlationId: 'd5062e45-6e9f-4fd3-a0a0-6b2c56b15757',
-
outputs: {
-
key1: {
-
type: 'string',
-
value: 'output1'
-
}
-
},
-
providers: [{
-
namespace: 'namespace1',
-
resourceTypes: [
-
{
-
resourceType: 'resourceType1',
-
locations: ['westus']
-
}
-
]
-
}],
-
dependencies: [
-
{
-
dependsOn: [
-
{
-
id: 'resourceid1',
-
resourceType: 'namespace1/resourcetype1',
-
resourceName: 'resourcename1'
-
}
-
],
-
id: 'resourceid2',
-
resourceType: 'namespace1/resourcetype2',
-
resourceName: 'resourcename2'
-
}
-
]
-
}
-
}
-
result_mapper = Azure::ARM::Resources::Models::Deployment.mapper
-
@rmc.deserialize(result_mapper, deployments, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_resource_group(resource_group_name)
-
2
msg = "Getting Resource Group #{resource_group_name}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
resource_group = @rmc.resource_groups.get(resource_group_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Getting Resource Group #{resource_group_name} successfully"
-
1
resource_group
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def get_resource_group(*)
-
resource_group =
-
{
-
'location' => 'westus',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/Fog_test_rg',
-
'name' => 'Fog_test_rg',
-
'properties' =>
-
{
-
'provisioningState' => 'Succeeded'
-
}
-
},
-
{
-
'location' => 'westus',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/Fog_test_rg1',
-
'name' => 'Fog_test_rg1',
-
'properties' =>
-
{
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
result_mapper = Azure::ARM::Resources::Models::ResourceGroup.mapper
-
@rmc.deserialize(result_mapper, resource_group, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_deployments(resource_group)
-
2
msg = "Listing Deployments in Resource Group: #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
begin
-
2
deployments = @rmc.deployments.list_as_lazy(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Deployments listed successfully in Resource Group: #{resource_group}"
-
1
deployments.value
-
end
-
end
-
-
# This class provides the mock implementation
-
1
class Mock
-
1
def list_deployments(resource_group)
-
deployments = {
-
value: [{
-
id: "/subscriptions/########-####-####-####-############/resourceGroups/#{resource_group}/providers/microsoft.resources/deployments/testdeployment",
-
name: 'testdeployment',
-
properties: {
-
templateLink: {
-
uri: 'https://test.com/template.json',
-
contentVersion: '1.0.0.0'
-
},
-
parametersLink: {
-
uri: 'https://test.com/parameters.json',
-
contentVersion: '1.0.0.0'
-
},
-
parameters: {
-
parameter1: {
-
type: 'string',
-
value: 'parameter1'
-
}
-
},
-
mode: 'Incremental',
-
provisioningState: 'Accepted',
-
timestamp: '2015-01-01T18:26:20.6229141Z',
-
correlationId: 'd5062e45-6e9f-4fd3-a0a0-6b2c56b15757',
-
outputs: {
-
key1: {
-
type: 'string',
-
value: 'output1'
-
}
-
},
-
providers: [{
-
namespace: 'namespace1',
-
resourceTypes: [{
-
resourceType: 'resourceType1',
-
locations: ['westus']
-
}]
-
}],
-
dependencies: [{
-
dependsOn: [{
-
id: 'resourceid1',
-
resourceType: 'namespace1/resourcetype1',
-
resourceName: 'resourcename1'
-
}],
-
id: 'resourceid2',
-
resourceType: 'namespace1/resourcetype2',
-
resourceName: 'resourcename2'
-
}]
-
}
-
}]
-
}
-
result_mapper = Azure::ARM::Resources::Models::DeploymentListResult.mapper
-
@rmc.deserialize(result_mapper, deployments, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_resource_groups
-
2
msg = 'Listing Resource Groups'
-
2
Fog::Logger.debug msg
-
2
begin
-
2
resource_groups = @rmc.resource_groups.list_as_lazy
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
resource_groups.next_link = '' if resource_groups.next_link.nil?
-
1
Fog::Logger.debug 'Resource Groups listed successfully'
-
1
resource_groups.value
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_resource_groups
-
resource_groups = {
-
'value' => [
-
{
-
'location' => 'westus',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/Fog_test_rg',
-
'name' => 'Fog_test_rg',
-
'properties' =>
-
{
-
'provisioningState' => 'Succeeded'
-
}
-
},
-
{
-
'location' => 'westus',
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/Fog_test_rg1',
-
'name' => 'Fog_test_rg1',
-
'properties' =>
-
{
-
'provisioningState' => 'Succeeded'
-
}
-
}
-
]
-
}
-
result_mapper = Azure::ARM::Resources::Models::ResourceGroupListResult.mapper
-
@rmc.deserialize(result_mapper, resource_groups, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_tagged_resources(tag_name, tag_value = nil)
-
2
msg = "Listing Resources with tagname: #{tag_name}"
-
2
Fog::Logger.debug msg
-
2
unless tag_name.nil?
-
2
query_filter = "tagname eq '#{tag_name}' "
-
2
query_filter += tag_value.nil? ? '' : "and tagvalue eq '#{tag_value}'"
-
2
begin
-
2
resources = @rmc.resources.list_as_lazy(query_filter)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
resources.next_link = '' if resources.next_link.nil?
-
1
resources.value
-
end
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_tagged_resources(tag_name, tag_value)
-
resources = {
-
'value' => [
-
{
-
'id' => '/subscriptions/########-####-####-####-############/fog-rg',
-
'name' => 'your-resource-name',
-
'type' => 'providernamespace/resourcetype',
-
'location' => 'westus',
-
'tags' =>
-
{
-
tag_name => tag_value
-
},
-
'plan' =>
-
{
-
'name' => 'free'
-
}
-
}
-
]
-
}
-
result_mapper = Azure::ARM::Resources::Models::ResourceListResult.mapper
-
@rmc.deserialize(result_mapper, resources, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def tag_resource(resource_id, tag_name, tag_value)
-
3
split_resource = resource_id.split('/') unless resource_id.nil?
-
3
if split_resource.count != 9
-
1
raise 'Invalid Resource Id'
-
end
-
-
2
resource_group_name = get_resource_from_resource_id(resource_id, RESOURCE_GROUP_NAME)
-
2
resource_provider_namespace = get_resource_from_resource_id(resource_id, RESOURCE_PROVIDER_NAMESPACE)
-
2
resource_type = get_resource_from_resource_id(resource_id, RESOURCE_TYPE)
-
2
resource_name = get_resource_from_resource_id(resource_id, RESOURCE_NAME)
-
2
parent_resource_id = ''
-
-
2
msg = "Creating Tag #{tag_name} for Resource #{resource_name}"
-
2
Fog::Logger.debug msg
-
-
2
begin
-
2
resource = @rmc.resources.get(resource_group_name, resource_provider_namespace, parent_resource_id, resource_type, resource_name, API_VERSION)
-
2
resource.tags = {} if resource.tags.nil?
-
2
resource.tags[tag_name] = tag_value
-
2
@rmc.resources.create_or_update(resource_group_name, resource_provider_namespace, parent_resource_id, resource_type, resource_name, API_VERSION, resource)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Tag #{tag_name} created successfully for Resource #{resource_name}"
-
1
true
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def tag_resource(_resource_id, tag_name, _tag_value)
-
Fog::Logger.debug "Tag #{tag_name} created successfully for Resource 'resource_name'"
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Database Request
-
1
class Real
-
1
def create_or_update_database(database_hash)
-
1
msg = "Creating SQL Database: #{database_hash[:name]}."
-
1
Fog::Logger.debug msg
-
1
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{database_hash[:resource_group]}/providers/Microsoft.Sql/servers/#{database_hash[:server_name]}/databases/#{database_hash[:name]}?api-version=2014-04-01-preview"
-
1
request_parameters = get_database_parameters(database_hash[:location], database_hash[:create_mode], database_hash[:edition], database_hash[:source_database_id], database_hash[:collation], database_hash[:max_size_bytes], database_hash[:requested_service_objective_name], database_hash[:restore_point_in_time], database_hash[:source_database_deletion_date], database_hash[:elastic_pool_name], database_hash[:requested_service_objective_id])
-
1
begin
-
1
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.put(
-
resource_url,
-
request_parameters.to_json,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "SQL Database: #{database_hash[:name]} created successfully."
-
1
JSON.parse(response)
-
end
-
-
1
private
-
-
1
def get_database_parameters(location, create_mode, edition, source_database_id, collation, max_size_bytes, requested_service_objective_name, restore_point_in_time, source_database_deletion_date, elastic_pool_name, requested_service_objective_id)
-
1
parameters = {}
-
1
properties = {}
-
-
1
properties['edition'] = edition unless edition.nil?
-
1
properties['collation'] = collation unless collation.nil?
-
1
properties['createMode'] = create_mode unless create_mode.nil?
-
1
properties['maxSizeBytes'] = max_size_bytes unless max_size_bytes.nil?
-
1
properties['elasticPoolName'] = elastic_pool_name unless elastic_pool_name.nil?
-
1
properties['sourceDatabaseId'] = source_database_id unless source_database_id.nil?
-
1
properties['restorePointInTime'] = restore_point_in_time unless restore_point_in_time.nil?
-
1
properties['sourceDatabaseDeletionDate'] = source_database_deletion_date unless source_database_deletion_date.nil?
-
1
properties['requestedServiceObjectiveId'] = requested_service_objective_id unless requested_service_objective_id.nil?
-
1
properties['requestedServiceObjectiveName'] = requested_service_objective_name unless requested_service_objective_name.nil?
-
-
1
parameters['tags'] = {}
-
1
parameters['location'] = location
-
1
parameters['properties'] = properties
-
-
1
parameters
-
end
-
end
-
-
# Mock class for Sql Database Request
-
1
class Mock
-
1
def create_or_update_database(*)
-
{
-
'location' => '{database-location}',
-
'properties' => {
-
'createMode' => '{creation-mode}',
-
'sourceDatabaseId' => '{source-database-id}',
-
'edition' => '{database-edition}',
-
'collation' => '{collation-name}',
-
'maxSizeBytes' => '{max-database-size}',
-
'requestedServiceObjectiveId' => '{requested-service-id}',
-
'requestedServiceObjectiveName' => '{requested-service-id}',
-
'restorePointInTime' => '{restore-time}',
-
'sourceDatabaseDeletionDate' => '{source-deletion-date}',
-
'elasticPoolName' => '{elastic-pool-name}'
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Firewall Rule Request
-
1
class Real
-
1
def create_or_update_firewall_rule(firewall_hash)
-
1
msg = "Creating SQL Firewall Rule : #{firewall_hash[:name]}."
-
1
Fog::Logger.debug msg
-
-
1
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{firewall_hash[:resource_group]}/providers/Microsoft.Sql/servers/#{firewall_hash[:server_name]}/firewallRules/#{firewall_hash[:name]}?api-version=2014-04-01-preview"
-
1
request_parameters = get_server_firewall_parameters(firewall_hash[:start_ip], firewall_hash[:end_ip])
-
1
begin
-
1
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.put(
-
resource_url,
-
request_parameters.to_json,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "SQL Firewall Rule : #{firewall_hash[:name]} created successfully."
-
1
JSON.parse(response)
-
end
-
-
1
private
-
-
1
def get_server_firewall_parameters(start_ip, end_ip)
-
1
parameters = {}
-
1
properties = {}
-
-
1
properties['startIpAddress'] = start_ip
-
1
properties['endIpAddress'] = end_ip
-
-
1
parameters['properties'] = properties
-
-
1
parameters
-
end
-
end
-
-
# Mock class for Sql Firewall Rule Request
-
1
class Mock
-
1
def create_or_update_firewall_rule(*)
-
{
-
'properties' => {
-
'startIpAddress' => '{start-ip-address}',
-
'endIpAddress' => '{end-ip-address}'
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Server Request
-
1
class Real
-
1
def create_or_update_sql_server(server_hash)
-
1
msg = "Creating SQL Server: #{server_hash[:name]}."
-
1
Fog::Logger.debug msg
-
1
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{server_hash[:resource_group]}/providers/Microsoft.Sql/servers/#{server_hash[:name]}?api-version=2014-04-01-preview"
-
1
request_parameters = get_server_parameters(server_hash[:location], server_hash[:version], server_hash[:administrator_login], server_hash[:administrator_login_password])
-
1
begin
-
1
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.put(
-
resource_url,
-
request_parameters.to_json,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "SQL Server: #{server_hash[:name]} created successfully."
-
1
JSON.parse(response)
-
end
-
-
1
private
-
-
1
def get_server_parameters(location, version, admin_login, admin_password)
-
1
parameters = {}
-
1
properties = {}
-
-
1
properties['version'] = version
-
1
properties['administratorLogin'] = admin_login
-
1
properties['administratorLoginPassword'] = admin_password
-
-
1
parameters['properties'] = properties
-
1
parameters['location'] = location
-
1
parameters['tags'] = {}
-
-
1
parameters
-
end
-
end
-
-
# Mock class for Sql Server Request
-
1
class Mock
-
1
def create_or_update_sql_server(*)
-
{
-
'location' => '{server-location}',
-
'properties' => {
-
'version' => '{server-version}',
-
'administratorLogin' => '{admin-name}',
-
'administratorLoginPassword' => '{admin-password}'
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Database Request
-
1
class Real
-
1
def delete_database(resource_group, server_name, name)
-
2
msg = "Deleting SQL Database: #{name}."
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/databases/#{name}?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
RestClient.delete(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "SQL Database: #{name} deleted successfully."
-
1
true
-
end
-
end
-
-
# Mock class for Sql Database Request
-
1
class Mock
-
1
def delete_database(*)
-
Fog::Logger.debug 'SQL Database {name} from Resource group {resource_group} deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Firewall Rule Request
-
1
class Real
-
1
def delete_firewall_rule(resource_group, server_name, rule_name)
-
2
msg = "Deleting SQL Firewall Rule: #{rule_name}."
-
2
Fog::Logger.debug msg
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/firewallRules/#{rule_name}?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
RestClient.delete(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
1
Fog::Logger.debug "SQL Firewall Rule: #{rule_name} deleted successfully."
-
1
true
-
1
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
end
-
end
-
-
# Mock class for Sql Firewall Rule Request
-
1
class Mock
-
1
def delete_firewall_rule(*)
-
Fog::Logger.debug 'SQL Firewall Rule {name} from SQL Server {server_name}, Resource group {resource_group} deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Server Request
-
1
class Real
-
1
def delete_sql_server(resource_group, name)
-
2
msg = "Deleting SQL Server: #{name}."
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{name}?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
RestClient.delete(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
1
Fog::Logger.debug "SQL Server: #{name} deleted successfully."
-
1
true
-
1
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
end
-
end
-
-
# Mock class for Sql Server Request
-
1
class Mock
-
1
def delete_sql_server(*)
-
Fog::Logger.debug 'SQL Server {name} from Resource group {resource_group} deleted successfully.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Database Request
-
1
class Real
-
1
def get_database(resource_group, server_name, name)
-
2
msg = "Getting Sql Database: #{name} in Resource Group: #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/databases/#{name}?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "Sql Database fetched successfully in Resource Group: #{resource_group}"
-
1
JSON.parse(response)
-
end
-
end
-
-
# Mock class for Sql Database Request
-
1
class Mock
-
1
def get_database(*)
-
{
-
'location' => '{database-location}',
-
'properties' => {
-
'createMode' => '{creation-mode}',
-
'sourceDatabaseId' => '{source-database-id}',
-
'edition' => '{database-edition}',
-
'collation' => '{collation-name}',
-
'maxSizeBytes' => '{max-database-size}',
-
'requestedServiceObjectiveId' => '{requested-service-id}',
-
'requestedServiceObjectiveName' => '{requested-service-id}',
-
'restorePointInTime' => '{restore-time}',
-
'sourceDatabaseDeletionDate' => '{source-deletion-date}',
-
'elasticPoolName' => '{elastic-pool-name}'
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Server Firewall Rule Request
-
1
class Real
-
1
def get_firewall_rule(resource_group, server_name, rule_name)
-
2
msg = "Getting Sql Server Firewall Rule: #{rule_name} from SQL Server: #{server_name} in Resource Group: #{resource_group}..."
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/firewallRules/#{rule_name}?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "Sql Server Firewall Rule fetched successfully from Server: #{server_name}, Resource Group: #{resource_group}"
-
1
JSON.parse(response)
-
end
-
end
-
-
# Mock class for Sql Server Firewall Rule Request
-
1
class Mock
-
1
def get_firewall_rule(*)
-
{
-
'id' => '{uri-of-firewall-rule}',
-
'name' => '{rule-name}',
-
'type' => '{rule-type}',
-
'location' => '{server-location}',
-
'properties' => {
-
'startIpAddress' => '{start-ip-address}',
-
'endIpAddress' => '{end-ip-address}'
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Server Request
-
1
class Real
-
1
def get_sql_server(resource_group, server_name)
-
2
msg = "Getting Sql Server: #{server_name} in Resource Group: #{resource_group}..."
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "Sql Server fetched successfully in Resource Group: #{resource_group}"
-
1
JSON.parse(response)
-
end
-
end
-
-
# Mock class for Sql Server Request
-
1
class Mock
-
1
def get_sql_server(*)
-
{
-
'location' => '{server-location}',
-
'properties' => {
-
'version' => '{server-version}',
-
'administratorLogin' => '{admin-name}',
-
'administratorLoginPassword' => '{admin-password}'
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Database Request
-
1
class Real
-
1
def list_databases(resource_group, server_name)
-
2
msg = "Listing Sql Databases in Resource Group: #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/databases?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "Sql Databases listed successfully in Resource Group: #{resource_group}"
-
1
JSON.parse(response)['value']
-
end
-
end
-
-
# Mock class for Sql Database Request
-
1
class Mock
-
1
def list_databases(*)
-
[
-
{
-
'location' => '{database-location}',
-
'properties' => {
-
'createMode' => '{creation-mode}',
-
'sourceDatabaseId' => '{source-database-id}',
-
'edition' => '{database-edition}',
-
'collation' => '{collation-name}',
-
'maxSizeBytes' => '{max-database-size}',
-
'requestedServiceObjectiveId' => '{requested-service-id}',
-
'requestedServiceObjectiveName' => '{requested-service-id}',
-
'restorePointInTime' => '{restore-time}',
-
'sourceDatabaseDeletionDate' => '{source-deletion-date}',
-
'elasticPoolName' => '{elastic-pool-name}'
-
}
-
},
-
{
-
'location' => '{database-location}',
-
'properties' => {
-
'createMode' => '{creation-mode}',
-
'sourceDatabaseId' => '{source-database-id}',
-
'edition' => '{database-edition}',
-
'collation' => '{collation-name}',
-
'maxSizeBytes' => '{max-database-size}',
-
'requestedServiceObjectiveId' => '{requested-service-id}',
-
'requestedServiceObjectiveName' => '{requested-service-id}',
-
'restorePointInTime' => '{restore-time}',
-
'sourceDatabaseDeletionDate' => '{source-deletion-date}',
-
'elasticPoolName' => '{elastic-pool-name}'
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Server Firewall Rule Request
-
1
class Real
-
1
def list_firewall_rules(resource_group, server_name)
-
2
msg = "Listing Sql Server Firewall rules on server: #{server_name} in Resource Group: #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/firewallRules/?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "Sql Server Firewall Rules listed successfully on server: #{server_name} in Resource Group: #{resource_group}"
-
1
JSON.parse(response)['value']
-
end
-
end
-
-
# Mock class for Sql Server Firewall Rule Request
-
1
class Mock
-
1
def list_firewall_rules(*)
-
[
-
{
-
'id' => '{uri-of-firewall-rule}',
-
'name' => '{rule-name}',
-
'type' => '{rule-type}',
-
'location' => '{server-location}',
-
'properties' => {
-
'startIpAddress' => '{start-ip-address}',
-
'endIpAddress' => '{end-ip-address}'
-
}
-
},
-
{
-
'id' => '{uri-of-firewall-rule}',
-
'name' => '{rule-name}',
-
'type' => '{rule-type}',
-
'location' => '{server-location}',
-
'properties' => {
-
'startIpAddress' => '{start-ip-address}',
-
'endIpAddress' => '{end-ip-address}'
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
1
class AzureRM
-
# Real class for Sql Server Request
-
1
class Real
-
1
def list_sql_servers(resource_group)
-
2
msg = "Listing Sql Servers in Resource Group: #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers?api-version=2014-04-01-preview"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
resource_url,
-
accept: :json,
-
content_type: :json,
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise JSON.parse(e.response)['message']
-
end
-
1
Fog::Logger.debug "Sql Servers listed successfully in Resource Group: #{resource_group}"
-
1
JSON.parse(response)['value']
-
end
-
end
-
-
# Mock class for Sql Server Request
-
1
class Mock
-
1
def list_sql_servers(*)
-
[
-
{
-
'location' => '{server-location}',
-
'properties' => {
-
'version' => '{server-version}',
-
'administratorLogin' => '{admin-name}',
-
'administratorLoginPassword' => '{admin-password}'
-
}
-
},
-
{
-
'location' => '{server-location}',
-
'properties' => {
-
'version' => '{server-version}',
-
'administratorLogin' => '{admin-name}',
-
'administratorLoginPassword' => '{admin-password}'
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def acquire_blob_lease(container_name, name, options={})
-
1
msg = "Leasing blob: #{name} of container #{container_name}"
-
1
Fog::Logger.debug msg
-
1
begin
-
1
lease_id = @blob_client.acquire_blob_lease(container_name, name, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Blob #{name} leased successfully."
-
1
lease_id
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def acquire_blob_lease(*)
-
{
-
'leaseId' => 'abc123'
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def acquire_container_lease(name, options={})
-
1
msg = "Leasing container: #{name}"
-
1
Fog::Logger.debug msg
-
1
begin
-
1
lease_id = @blob_client.acquire_container_lease(name, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Container #{name} leased successfully."
-
1
lease_id
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def acquire_container_lease(*)
-
{
-
'leaseId' => 'abc123'
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def check_blob_exist(container_name, name, options = {})
-
1
Fog::Logger.debug "Check Blob #{name} exist in container #{container_name}."
-
1
begin
-
1
@blob_client.get_blob_properties(container_name, name, options)
-
rescue Azure::Core::Http::HTTPError
-
return false
-
end
-
1
Fog::Logger.debug "Blob #{name} Exists."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def check_blob_exist(*)
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def check_storage_account_name_availability(params)
-
3
msg = "Checking Name availability: #{params.name}."
-
3
Fog::Logger.debug msg
-
3
begin
-
3
name_available_obj = @storage_mgmt_client.storage_accounts.check_name_availability(params)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
2
if name_available_obj.name_available
-
1
Fog::Logger.debug "Name: #{params.name} is available."
-
1
true
-
else
-
1
Fog::Logger.debug "Name: #{params.name} is not available."
-
1
Fog::Logger.debug "Reason: #{name_available_obj.reason}."
-
1
false
-
end
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def check_storage_account_name_availability(params)
-
Fog::Logger.debug "Name: #{params.name} is available."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def compare_container_blobs(container1, container2)
-
1
msg = "Comparing blobs from container #{container1} to container #{container2}"
-
1
Fog::Logger.debug msg
-
1
begin
-
1
identical_blobs = get_identical_blobs_from_containers(container1, container2)
-
rescue Azure::Core::Http::HTTPError => ex
-
raise_azure_exception(ex, msg)
-
end
-
1
identical_blobs
-
end
-
-
1
private
-
-
1
def get_identical_blobs_from_containers(container1, container2)
-
container1_blobs = list_blobs(container1)
-
container2_blobs = list_blobs(container2)
-
-
identical_blobs = []
-
container1_blobs.each do |container1_blob|
-
container2_blobs.each do |container2_blob|
-
container1_prop = get_blob_properties(container1, container1_blob.name)
-
container2_prop = get_blob_properties(container2, container2_blob.name)
-
if container1_blob.name == container2_blob.name && container1_prop.properties[:content_md5] == container2_prop.properties[:content_md5]
-
identical_blobs.push(container1_blob)
-
end
-
end
-
end
-
identical_blobs
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def compare_container_blobs(*)
-
[
-
{
-
'name' => 'blob_name',
-
'metadata' => {},
-
'properties' =>
-
{
-
'last_modified' => 'Thu, 28 Jul 2016 06:53:05 GMT',
-
'etag' => '0x8D3B6B3D353FFCA',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/atom+xml; charset=utf-8',
-
'content_encoding' => 'ASCII-8BIT',
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'blob_type' => 'BlockBlob',
-
'copy_id' => nil,
-
'copy_status' => nil,
-
'copy_source' => nil,
-
'copy_progress' => nil,
-
'copy_completion_time' => nil,
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def copy_blob(destination_container, destination_blob, source_container, source_blob, options = {})
-
1
msg = "Copying blob: #{source_blob} from container #{source_container} to container #{destination_container}"
-
1
Fog::Logger.debug msg
-
1
begin
-
1
copy_status = @blob_client.copy_blob(destination_container, destination_blob, source_container, source_blob, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Blob #{destination_blob} copied successfully."
-
1
copy_status
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def copy_blob(*)
-
{
-
'copyId' => 'abc123',
-
'copyStatus' => 'pending'
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def copy_blob_from_uri(destination_container, destination_blob, source_blob_uri, options = {})
-
1
msg = "Copying blob: #{source_blob_uri} to container #{destination_container}"
-
1
Fog::Logger.debug msg
-
1
begin
-
1
copy_status = @blob_client.copy_blob_from_uri(destination_container, destination_blob, source_blob_uri, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Blob #{destination_blob} copied successfully."
-
1
copy_status
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def copy_blob_from_uri(*)
-
{
-
'copyId' => 'abc123',
-
'copyStatus' => 'pending'
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def create_container(name, options = {})
-
3
msg = "Creating container: #{name}."
-
3
Fog::Logger.debug msg
-
3
begin
-
3
container = @blob_client.create_container(name, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Container #{name} created successfully."
-
1
container
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def create_container(*)
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'public_access_level' => nil,
-
'metadata' => {}
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def create_disk(blob_name, options = {})
-
1
msg = "Creating disk(blob) #{blob_name}"
-
1
Fog::Logger.debug msg
-
2
::File.open('out.txt', 'w') { |f| f.write('Sample File') }
-
1
path = ::File.expand_path(::File.dirname('out.txt')) + '/' + 'out.txt'
-
1
begin
-
1
disk = upload_block_blob_from_file('vhds', "#{blob_name}.vhd", path.to_s, options)
-
rescue Azure::Core::Http::HTTPError => e
-
raise_azure_exception(e, msg)
-
end
-
1
disk
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def create_disk(*)
-
Fog::Logger.debug 'Disk(Blob) created successfully.'
-
{
-
'name' => 'test_blob',
-
'properties' =>
-
{
-
'last_modified' => 'Thu, 28 Jul 2016 06:53:05 GMT',
-
'etag' => '0x8D3B6B3D353FFCA',
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw=='
-
}
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def create_or_update_recovery_vault(resource_group, location, name)
-
2
msg = "Creating/Updating Recovery Vault #{name} in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version=2016-05-01"
-
2
body = {
-
location: location,
-
tags: {},
-
sku: { name: 'standard' },
-
properties: {}
-
}
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.put(
-
resource_url,
-
body.to_json,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Recovery Vault #{name} created/updated successfully"
-
1
JSON.parse(response)
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def create_or_update_recovery_vault(*)
-
recovery_vault = '{
-
"location": "westus",
-
"name": "fog-test-vault",
-
"properties": {
-
"provisioningState": "Succeeded"
-
},
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault",
-
"type": "Microsoft.RecoveryServices/vaults",
-
"sku": {
-
"name": "standard"
-
}
-
}'
-
JSON.parse(recovery_vault)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def create_storage_account(storage_account_hash)
-
2
msg = "Creating Storage Account: #{storage_account_hash[:name]} in Resource Group #{storage_account_hash[:resource_group]}."
-
2
Fog::Logger.debug msg
-
2
storage_account_params = get_storage_account_params(storage_account_hash[:sku_name],
-
storage_account_hash[:location],
-
storage_account_hash[:replication],
-
storage_account_hash[:encryption])
-
2
begin
-
2
storage_account = @storage_mgmt_client.storage_accounts.create(storage_account_hash[:resource_group],
-
storage_account_hash[:name],
-
storage_account_params)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug 'Storage Account created successfully.'
-
1
storage_account
-
end
-
-
1
private
-
-
1
def get_storage_account_params(sku_name, location, replication, encryption_enabled)
-
2
params = Azure::ARM::Storage::Models::StorageAccountCreateParameters.new
-
2
sku = Azure::ARM::Storage::Models::Sku.new
-
2
sku.name = "#{sku_name}_#{replication}"
-
2
params.sku = sku
-
2
params.kind = Azure::ARM::Storage::Models::Kind::Storage
-
2
params.location = location
-
2
unless encryption_enabled.nil?
-
2
encryption = Azure::ARM::Storage::Models::Encryption.new
-
2
encryption_services = Azure::ARM::Storage::Models::EncryptionServices.new
-
2
encryption_service = Azure::ARM::Storage::Models::EncryptionService.new
-
2
encryption_service.enabled = encryption_enabled
-
2
encryption_service.last_enabled_time = Time.new if encryption_service.enabled
-
2
encryption_services.blob = encryption_service
-
2
encryption.services = encryption_services
-
2
params.encryption = encryption
-
end
-
2
params
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def create_storage_account(*)
-
storage_account_hash = {
-
'id' => '/subscriptions/67f2116d-4ea2-4c6c-b20a-f92183dbe3cb/resourceGroups/fog_test_rg/providers/Microsoft.Storage/storageAccounts/fogtestsasecond',
-
'name' => 'fog-test-storage-account',
-
'location' => 'west us',
-
'sku' =>
-
{
-
'name' => 'Standard_LRS'
-
}
-
}
-
storage_account_mapper = Azure::ARM::Storage::Models::StorageAccount.mapper
-
storage_mgmt_client.deserialize(storage_account_mapper, storage_account_hash, 'hash')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_blob(container_name, blob_name, options = {})
-
2
Fog::Logger.debug "Deleting blob: #{blob_name} in container #{container_name}."
-
2
begin
-
2
@blob_client.delete_blob(container_name, blob_name, options)
-
1
Fog::Logger.debug "Blob #{blob_name} deleted successfully."
-
1
true
-
1
rescue Azure::Core::Http::HTTPError => ex
-
1
raise "Exception in deleting the blob #{blob_name}: #{ex.inspect}"
-
end
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def delete_blob(*)
-
1
Fog::Logger.debug 'Blob deleted successfully.'
-
1
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_container(name, options = {})
-
3
msg = "Deleting container: #{name}."
-
3
Fog::Logger.debug msg
-
3
begin
-
3
@blob_client.delete_container(name, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Container #{name} deleted successfully."
-
1
true
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def delete_container(*)
-
1
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_disk(blob_name)
-
2
msg = "Deleting Disk: #{blob_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
result = delete_blob('vhds', "#{blob_name}.vhd")
-
rescue Azure::Core::Http::HTTPError => e
-
raise_azure_exception(e, msg)
-
end
-
2
if result.nil?
-
1
Fog::Logger.debug "Successfully deleted Disk: #{blob_name}."
-
1
true
-
else
-
1
Fog::Logger.debug 'Error deleting Disk.'
-
1
false
-
end
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def delete_disk(*)
-
Fog::Logger.debug 'Deleting Disk: test_blob.'
-
Fog::Logger.debug 'Successfully deleted Disk: test_blob.'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def delete_recovery_vault(resource_group, name)
-
1
msg = "Deleting Recovery Vault #{name} from Resource Group #{resource_group}"
-
1
Fog::Logger.debug msg
-
1
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version=2016-05-01"
-
1
begin
-
1
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
RestClient.delete(
-
resource_url,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Recovery Vault #{name} in Resource Group #{resource_group} deleted successfully"
-
1
true
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def delete_recovery_vault(*)
-
Fog::Logger.debug 'Recovery Vault TestVault in Resource Group TestRG deleted successfully'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def delete_storage_account(resource_group, name)
-
2
msg = "Deleting Storage Account: #{name} in Resource Group #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@storage_mgmt_client.storage_accounts.delete(resource_group, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Storage Account #{name} deleted successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def delete_storage_account(resource_group, name)
-
Fog::Logger.debug "Storage Account #{name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
PROTECTION_STOPPED = 'ProtectionStopped'.freeze
-
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def disable_backup_protection(rv_name, rv_resource_group, vm_name, vm_resource_group)
-
2
msg = "Disabling protection for VM #{vm_name} in Recovery Vault #{rv_name}"
-
2
Fog::Logger.debug msg
-
-
2
set_recovery_vault_context(rv_resource_group, rv_name)
-
2
vm_id = get_virtual_machine_id(vm_resource_group, vm_name)
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}/protectedItems/vm;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}?api-version=2016-05-01"
-
2
body = {
-
properties: {
-
protectedItemType: 'Microsoft.Compute/virtualMachines',
-
policyId: '',
-
sourceResourceId: vm_id,
-
protectionState: PROTECTION_STOPPED
-
},
-
tags: {}
-
}
-
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
RestClient.put(
-
resource_url,
-
body.to_json,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
Fog::Logger.debug "Successfully disabled protection for VM #{vm_name} in Recovery Vault #{rv_name}"
-
1
true
-
end
-
-
1
private
-
-
1
def get_virtual_machine_id(vm_resource_group, vm_name)
-
compute_service = Fog::Compute::AzureRM.new(tenant_id: @tenant_id, client_id: @client_id, client_secret: @client_secret, subscription_id: @subscription_id)
-
compute_service.get_virtual_machine(vm_resource_group, vm_name).id
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def disable_backup_protection(*)
-
Fog::Logger.debug 'Successfully disabled protection for VM {vm_name} in Recovery Vault {rv_name}'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def download_blob_to_file(container_name, blob_name, file_path, options = {})
-
3
Fog::Logger.debug "Downloading file #{file_path} from blob #{blob_name} in the container #{container_name}."
-
-
3
begin
-
3
blob, content = @blob_client.get_blob(container_name, blob_name, options)
-
1
IO.binwrite(::File.expand_path(file_path), content)
-
1
Fog::Logger.debug "File #{file_path} downloaded successfully."
-
1
blob
-
2
rescue IOError => ex
-
1
raise "Exception in writing #{file_path}: #{ex.inspect}"
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise "Exception in downloading blob #{blob_name}: #{ex.inspect}"
-
end
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def download_blob_to_file(_container_name, blob_name, _file_path, _options = {})
-
1
Fog::Logger.debug 'File downloaded successfully.'
-
{
-
'name' => blob_name,
-
'metadata' => {},
-
'properties' =>
-
{
-
'last_modified' => 'Thu, 28 Jul 2016 06:53:05 GMT',
-
'etag' => '0x8D3B6B3D353FFCA',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/atom+xml; charset=utf-8',
-
'content_encoding' => 'ASCII-8BIT',
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'blob_type' => 'BlockBlob',
-
'copy_id' => nil,
-
'copy_status' => nil,
-
'copy_source' => nil,
-
'copy_progress' => nil,
-
'copy_completion_time' => nil,
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
CONFIGURE_BACKUP = 'ConfigureBackup'.freeze
-
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def enable_backup_protection(rv_name, rv_resource_group, vm_name, vm_resource_group)
-
2
msg = "Enabling backup protection for VM #{vm_name} in Resource Group #{vm_resource_group}"
-
2
Fog::Logger.debug msg
-
-
2
set_recovery_vault_context(rv_resource_group, rv_name)
-
2
backup_protection_policy = get_backup_protection_policy(rv_resource_group, rv_name)
-
4
policy = backup_protection_policy.select { |item| item['name'].eql? 'DefaultPolicy' }[0]
-
2
vm_id = get_virtual_machine_id(vm_resource_group, vm_name)
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}/protectedItems/vm;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}?api-version=2016-05-01"
-
2
body = {
-
properties: {
-
protectedItemType: 'Microsoft.Compute/virtualMachines',
-
policyId: policy['id'],
-
sourceResourceId: vm_id
-
},
-
tags: {}
-
}
-
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
RestClient.put(
-
resource_url,
-
body.to_json,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
1
raise_azure_exception(e, msg)
-
end
-
-
1
@job = get_backup_job_for_vm(rv_name, rv_resource_group, vm_name, vm_resource_group, CONFIGURE_BACKUP)
-
-
1
until @job.nil?
-
sleep 10
-
@job = get_backup_job_for_vm(rv_name, rv_resource_group, vm_name, vm_resource_group, CONFIGURE_BACKUP)
-
end
-
-
1
Fog::Logger.debug "Successfully enabled backup protection for VM #{vm_name} in Resource Group #{vm_resource_group}"
-
1
true
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def enable_backup_protection(*)
-
Fog::Logger.debug 'Successfully enabled backup protection for VM {vm_name} in Resource Group {vm_resource_group}'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def get_all_backup_jobs(rv_name, rv_resource_group)
-
2
msg = "Getting all backup jobs for Recovery Vault #{rv_name}"
-
2
Fog::Logger.debug msg
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupJobs?api-version=2016-05-01&$filter=status eq 'InProgress'"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
resource_url,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully retrieved backup jobs for Recovery Vault #{rv_name}"
-
1
JSON.parse(response)['value']
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def get_all_backup_jobs(*)
-
body = '{
-
"value": [{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupJobs/########-####-####-####-############",
-
"name": "########-####-####-####-############",
-
"type": "Microsoft.RecoveryServices/vaults/backupJobs",
-
"properties": {
-
"jobType": "AzureIaaSVMJob",
-
"duration": "XX:XX:XX.XXXXXXX",
-
"actionsInfo": [
-
1
-
],
-
"virtualMachineVersion": "Compute",
-
"entityFriendlyName": "fog-test-vm",
-
"backupManagementType": "AzureIaasVM",
-
"operation": "Backup",
-
"status": "InProgress",
-
"startTime": "2016-10-19T07:49:31.1466534Z",
-
"activityId": "########-####-####-####-############"
-
}
-
}]
-
}'
-
JSON.parse(body)['value']
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def get_backup_container(resource_group, rv_name, vm_name)
-
2
msg = "Getting backup container from Recovery Vault #{rv_name}"
-
2
Fog::Logger.debug msg
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupProtectionContainers?api-version=2016-05-01&$filter=backupManagementType eq 'AzureIaasVM' and status eq 'Registered' and friendlyName eq '#{vm_name}'"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
response = resource_url,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully retrieved backup container from Recovery Vault #{rv_name}"
-
1
JSON.parse(response)['value']
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def get_backup_container(*)
-
body = '{
-
"value": [{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;fog-test-vm-rg;fog-test-vm",
-
"name": "IaasVMContainer;iaasvmcontainerv2;fog-test-vm-rg;fog-test-vm",
-
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
-
"properties": {
-
"virtualMachineId": "/subscriptions/########-####-####-####-############/resourceGroups/TestRG/providers/Microsoft.Compute/virtualMachines/TestVM",
-
"virtualMachineVersion": "Compute",
-
"resourceGroup": "fog-test-vm-rg",
-
"friendlyName": "fog-test-vm",
-
"backupManagementType": "AzureIaasVM",
-
"registrationStatus": "Registered",
-
"healthStatus": "Healthy",
-
"containerType": "Microsoft.Compute/virtualMachines",
-
"protectableObjectType": "Microsoft.Compute/virtualMachines"
-
}
-
}]
-
}'
-
JSON.parse(body)['value']
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def get_backup_item(resource_group, rv_name)
-
2
msg = "Getting backup item from Recovery Vault #{rv_name}"
-
2
Fog::Logger.debug msg
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupProtectedItems?api-version=2016-05-01&$filter=backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
response = resource_url,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully retrieved backup item from Recovery Vault #{rv_name}"
-
1
JSON.parse(response)['value']
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def get_backup_item(*)
-
body = '{
-
"value": [{
-
"id": "/Subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testrg;testvm/protectedItems/VM;fog-test-container-name",
-
"name": "iaasvmcontainerv2;fog-test-vm-rg;fog-test-vm",
-
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
-
"properties": {
-
"friendlyName": "fog-test-vm",
-
"virtualMachineId": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-vm-rg/providers/Microsoft.Compute/virtualMachines/fog-test-vm",
-
"protectionStatus": "Healthy",
-
"protectionState": "Protected",
-
"lastBackupStatus": "Completed",
-
"lastBackupTime": "2016-10-17T10:30:47.2289274Z",
-
"protectedItemType": "Microsoft.Compute/virtualMachines",
-
"backupManagementType": "AzureIaasVM",
-
"workloadType": "VM",
-
"containerName": "iaasvmcontainerv2;fog-test-vm-rg;fog-test-vm",
-
"sourceResourceId": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-vm-rg/providers/Microsoft.Compute/virtualMachines/fog-test-vm",
-
"policyId": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupPolicies/DefaultPolicy",
-
"policyName": "DefaultPolicy",
-
"lastRecoveryPoint": "2016-10-17T10:32:38.4666692Z"
-
}
-
}]
-
}'
-
JSON.parse(body)['value']
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def get_backup_job_for_vm(rv_name, rv_resource_group, vm_name, vm_resource_group, operation)
-
1
msg = "Getting backup job for VM #{vm_name} in Resource Group #{vm_resource_group}"
-
1
Fog::Logger.debug msg
-
-
1
backup_jobs = get_all_backup_jobs(rv_name, rv_resource_group)
-
1
backup_jobs = backup_jobs.select do |job|
-
1
(job['properties']['status'].eql? 'InProgress') &&
-
2
(job['properties']['entityFriendlyName'].eql? vm_name.downcase) &&
-
1
(job['properties']['operation'].eql? operation)
-
end
-
-
1
backup_jobs[0]
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def get_backup_job_for_vm(*)
-
body = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupJobs/########-####-####-####-############",
-
"name": "########-####-####-####-############",
-
"type": "Microsoft.RecoveryServices/vaults/backupJobs",
-
"properties": {
-
"jobType": "AzureIaaSVMJob",
-
"duration": "00:00:52.3309441",
-
"virtualMachineVersion": "Compute",
-
"extendedInfo": {
-
"tasksList": [],
-
"propertyBag": {
-
"VM Name": "fog-test-vm",
-
"Policy Name": "DefaultPolicy"
-
}
-
},
-
"entityFriendlyName": "fog-test-vm",
-
"backupManagementType": "AzureIaasVM",
-
"operation": "ConfigureBackup",
-
"status": "Completed",
-
"startTime": "2016-10-13T09:55:49.1168243Z",
-
"endTime": "2016-10-13T09:56:41.4477684Z",
-
"activityId": "383f05d9-a4bf-4b95-bb41-d39849b3a86e-2016-10-13 09:55:53Z-PS"
-
}
-
}'
-
JSON.parse(body)
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def get_backup_protection_policy(resource_group, name)
-
2
msg = "Get backup protection policy from Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}/backupPolicies?api-version=2016-05-01&$filter=backupManagementType eq 'AzureIaasVM'"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
response = RestClient.get(
-
resource_url,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully retrieved backup protection policy from Resource Group #{resource_group}"
-
1
JSON.parse(response)['value']
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
body = '{
-
"value": [{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupPolicies/DefaultPolicy",
-
"name": "DefaultPolicy",
-
"type": "Microsoft.RecoveryServices/vaults/backupPolicies",
-
"properties": {
-
"backupManagementType": "AzureIaasVM",
-
"schedulePolicy": {
-
"schedulePolicyType": "SimpleSchedulePolicy",
-
"scheduleRunFrequency": "Daily",
-
"scheduleRunTimes": [
-
"2016-10-13T19:30:00Z"
-
],
-
"scheduleWeeklyFrequency": 0
-
},
-
"retentionPolicy": {
-
"retentionPolicyType": "LongTermRetentionPolicy",
-
"dailySchedule": {
-
"retentionTimes": [
-
"2016-10-13T19:30:00Z"
-
],
-
"retentionDuration": {
-
"count": 30,
-
"durationType": "Days"
-
}
-
}
-
},
-
"protectedItemsCount": 0
-
}
-
}]
-
}'
-
1
JSON.parse(body)['value']
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_blob_metadata(container_name, name, options = {})
-
2
msg = "Getting Blob #{name} metadata in container #{container_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
blob = @blob_client.get_blob_metadata(container_name, name, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Getting metadata of blob #{name} successfully."
-
1
blob.metadata
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def get_blob_metadata(container_name, name, _options = {})
-
{
-
'name' => name,
-
'snapshot' => nil,
-
'metadata' => {
-
'container-name' => container_name,
-
'blob-name' => name,
-
'category' => 'Images',
-
'resolution' => 'High'
-
},
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 09:30:31 GMT',
-
'etag' => '0x8D3A3EDD7C2B777',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '095adc3b-e277-4c3d-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/4m?snapshot=2016-02-04T08%3A35%3A50.3157696Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:35:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_blob_properties(container_name, name, options = {})
-
2
Fog::Logger.debug "Get Blob #{name} properties in container #{container_name}."
-
2
begin
-
2
blob_properties = @blob_client.get_blob_properties(container_name, name, options)
-
1
Fog::Logger.debug "Getting properties of blob #{name} successfully."
-
1
blob_properties
-
1
rescue Azure::Core::Http::HTTPError => ex
-
1
raise "Exception in getting properties of blob #{name}: #{ex.inspect}"
-
end
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def get_blob_properties(_container_name, name, _options = {})
-
{
-
'name' => name,
-
'snapshot' => nil,
-
'metadata' => {},
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 09:30:31 GMT',
-
'etag' => '0x8D3A3EDD7C2B777',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '095adc3b-e277-4c3d-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/4m?snapshot=2016-02-04T08%3A35%3A50.3157696Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:35:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_container_access_control_list(name, options = {})
-
3
msg = "Get container ACL: #{name}."
-
3
Fog::Logger.debug msg
-
3
begin
-
3
container_acl = @blob_client.get_container_acl(name, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Getting ACL of container #{name} successfully."
-
1
container_acl
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def get_container_access_control_list(*)
-
[{
-
'name' => 'testcontainer1',
-
'public_access_level' => 'blob'
-
1
}, {}]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_container_metadata(name, options = {})
-
2
msg = "Getting Container #{name} metadata."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
container = @blob_client.get_container_metadata(name, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Getting metadata of container #{name} successfully."
-
1
container.metadata
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def get_container_metadata(*)
-
{
-
'container-name' => 'testcontainer1',
-
'created-by' => 'User',
-
'source-machine' => 'Test-machine',
-
'category' => 'guidance',
-
'doctype' => 'textDocuments'
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_container_properties(name, options = {})
-
3
msg = "Getting container properties: #{name}."
-
3
Fog::Logger.debug msg
-
3
begin
-
3
container_properties = @blob_client.get_container_properties(name, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Getting properties of container #{name} successfully."
-
1
container_properties
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def get_container_properties(*)
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def get_recovery_vault(resource_group, name)
-
2
msg = "Retrieving Recovery Vault #{name} from Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults?api-version=2016-05-01"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
recovery_vault_response = RestClient.get(
-
resource_url,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Recovery Vault #{name} from Resource Group #{resource_group} retrieved successfully"
-
1
recovery_vault = JSON.parse(recovery_vault_response)['value']
-
2
recovery_vault.select { |vault| vault['name'].eql? name }[0]
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def get_recovery_vault(*)
-
body = '{
-
"value": [{
-
"location": "westus",
-
"name": "fog-test-vault",
-
"properties": {
-
"provisioningState": "Succeeded"
-
},
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault",
-
"type": "Microsoft.RecoveryServices/vaults",
-
"sku": {
-
"name": "standard"
-
}
-
}]
-
}'
-
JSON.parse(body)['value'][0]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_storage_access_keys(resource_group, storage_account_name, options = {})
-
2
msg = "Getting storage access keys for storage account: #{storage_account_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
storage_account_keys = @storage_mgmt_client.storage_accounts.list_keys(resource_group, storage_account_name, options)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Storage access keys for storage account: #{storage_account_name} listed successfully."
-
1
storage_account_keys.keys
-
end
-
end
-
# This class provides the mock implementation.
-
1
class Mock
-
1
def get_storage_access_keys(_resource_group, storage_account_name, _options = {})
-
Fog::Logger.debug "Getting storage access keys for storage account: #{storage_account_name}."
-
Fog::Logger.debug "Storage access keys for storage account: #{storage_account_name} listed successfully."
-
{
-
'key1' => 'key1 value',
-
'key2' => 'key2 value'
-
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def get_storage_account(resource_group_name, storage_account_name)
-
2
msg = "Getting storage account: #{storage_account_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
storage_account = @storage_mgmt_client.storage_accounts.get_properties(resource_group_name, storage_account_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Getting storage account: #{storage_account_name} successfully."
-
1
storage_account
-
end
-
end
-
# This class provides the mock implementation.
-
1
class Mock
-
1
def get_storage_account(*)
-
storage_account_hash = {
-
'id' => '/subscriptions/67f2116d-4ea2-4c6c-b20a-f92183dbe3cb/resourceGroups/fog_test_rg/providers/Microsoft.Storage/storageAccounts/fogtestsasecond',
-
'name' => 'fog-test-storage-account',
-
'location' => 'west us',
-
'sku' =>
-
{
-
'name' => 'Standard_LRS'
-
}
-
}
-
storage_account_mapper = Azure::ARM::Storage::Models::StorageAccount.mapper
-
storage_mgmt_client.deserialize(storage_account_mapper, storage_account_hash, 'hash')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_blobs(container_name, options = {})
-
2
Fog::Logger.debug "Listing blobs in container: #{container_name}"
-
2
begin
-
2
blobs = @blob_client.list_blobs(container_name, options)
-
1
Fog::Logger.debug "Listing blobs in container: #{container_name} successfully."
-
1
blobs
-
1
rescue Azure::Core::Http::HTTPError => ex
-
1
raise "Exception in listing blobs: #{ex.inspect}"
-
end
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_blobs(*)
-
3
Fog::Logger.debug 'Listing blobs in container successfully.'
-
[
-
{
-
'name' => 'testblob1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '095adc3b-e277-4c3d-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/testblob1?snapshot=2016-02-04T08%3A35%3A50.3256874Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:35:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
},
-
'metadata' => {}
-
3
},
-
{
-
'name' => 'testblob2',
-
'properties' =>
-
{
-
'last_modified' => 'Tue, 04 Aug 2015 06:02:08 GMT',
-
'etag' => '0x8D29C92173526C8',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '0abcdc3b-4c3d-e277-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/testblob2?snapshot=2016-02-04T08%3A35%3A55.3157696Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:40:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
},
-
'metadata' => {}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_containers(options = {})
-
2
msg = 'Listing containers.'
-
2
Fog::Logger.debug msg
-
2
begin
-
2
containers = @blob_client.list_containers(options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug 'Listing containers successfully.'
-
1
containers
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_containers(*)
-
[
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
3
},
-
{
-
'name' => 'testcontainer2',
-
'properties' =>
-
{
-
'last_modified' => 'Tue, 04 Aug 2015 06:01:08 GMT',
-
'etag' => '0x8D29C92176C8352',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def list_recovery_vaults(resource_group)
-
2
msg = "Listing Recovery Vaults in Resource Group #{resource_group}"
-
2
Fog::Logger.debug msg
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults?api-version=2016-05-01"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
recovery_vaults_response = RestClient.get(
-
resource_url,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Recovery Vaults in Resource Group #{resource_group} listed successfully"
-
1
JSON.parse(recovery_vaults_response)['value']
-
end
-
end
-
-
# Mock class for Recovery Vault Request
-
1
class Mock
-
1
def list_recovery_vaults(*)
-
body = '{
-
"value": [{
-
"location": "westus",
-
"name": "fog-test-vault",
-
"properties": {
-
"provisioningState": "Succeeded"
-
},
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault",
-
"type": "Microsoft.RecoveryServices/vaults",
-
"sku": {
-
"name": "standard"
-
}
-
}]
-
}'
-
JSON.parse(body)['value']
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_storage_account_for_rg(resource_group)
-
3
msg = "Listing Storage Accounts in Resource Group #{resource_group}."
-
3
Fog::Logger.debug msg
-
3
begin
-
3
result = @storage_mgmt_client.storage_accounts.list_by_resource_group(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
2
result.value
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_storage_account_for_rg(resource_group)
-
[
-
{
-
'id' => "/subscriptions/{subscriptionId}/resourceGroups/#{resource_group}/providers/Microsoft.Storage/storageAccounts/mock_test_storage_account",
-
'name' => 'mock_test_storage_account',
-
'type' => 'Microsoft.Storage/storageAccounts',
-
'location' => 'westus',
-
'tags' => {},
-
'properties' =>
-
{
-
'provisioningState' => 'Succeeded',
-
'accountType' => 'Standard_LRS',
-
'primaryEndpoints' =>
-
{
-
'blob' => 'https://mock_test_storage_account.blob.core.windows.net/',
-
'queue' => 'https://mock_test_storage_account.queue.core.windows.net/',
-
'table' => 'https://mock_test_storage_account.table.core.windows.net/',
-
'file' => 'https://mock_test_storage_account.file.core.windows.net/'
-
},
-
'primaryLocation' => 'westus',
-
'statusOfPrimary' => 'available',
-
'lastGeoFailoverTime' => '2016-05-19T09:58:55Z',
-
'creationTime' => '2016-05-19T05:24:36Z'
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def list_storage_accounts
-
3
msg = 'Listing Storage Accounts.'
-
3
Fog::Logger.debug msg
-
3
begin
-
3
result = @storage_mgmt_client.storage_accounts.list
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
2
result.value
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def list_storage_accounts
-
[
-
{
-
'id' => '/subscriptions/{subscriptionId}/resourceGroups/mock_test_resource_group/providers/Microsoft.Storage/storageAccounts/mock_test_storage_account',
-
'name' => 'mock_test_storage_account',
-
'type' => 'Microsoft.Storage/storageAccounts',
-
'location' => 'westus',
-
'tags' => {},
-
'properties' =>
-
{
-
'provisioningState' => 'Succeeded',
-
'accountType' => 'Standard_LRS',
-
'primaryEndpoints' =>
-
{
-
'blob' => 'https://mock_test_storage_account.blob.core.windows.net/',
-
'queue' => 'https://mock_test_storage_account.queue.core.windows.net/',
-
'table' => 'https://mock_test_storage_account.table.core.windows.net/',
-
'file' => 'https://mock_test_storage_account.file.core.windows.net/'
-
},
-
'primaryLocation' => 'westus',
-
'statusOfPrimary' => 'available',
-
'lastGeoFailoverTime' => '2016-05-19T09:49:07Z',
-
'creationTime' => '2016-05-19T05:24:36Z'
-
}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def release_blob_lease(container_name, name, lease_id, options = {})
-
1
msg = "Releasing blob: #{name} of container #{container_name} having lease_id #{lease_id}"
-
1
Fog::Logger.debug msg
-
1
begin
-
1
@blob_client.release_blob_lease(container_name, name, lease_id, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Blob #{name} released successfully."
-
1
true
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def release_blob_lease(*)
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def release_container_lease(name, lease_id, options={})
-
1
msg = "Releasing container: #{name} having lease_id #{lease_id}"
-
1
Fog::Logger.debug msg
-
1
begin
-
1
@blob_client.release_container_lease(name, lease_id, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Container #{name} released successfully."
-
1
true
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def release_container_lease(*)
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def set_blob_metadata(container_name, name, metadata, options = {})
-
2
msg = "Setting Blob #{name} metadata in a container #{container_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@blob_client.set_blob_metadata(container_name, name, metadata, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Setting metadata of blob #{name} successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def set_blob_metadata(container_name, name, metadata, _options = {})
-
1
Fog::Logger.debug "Set Blob #{name} metadata #{metadata} in a container #{container_name} successfully."
-
1
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def set_blob_properties(container_name, name, properties = {})
-
2
Fog::Logger.debug "Set Blob #{name} properties #{properties.inspect} in container #{container_name}."
-
2
begin
-
2
@blob_client.set_blob_properties(container_name, name, properties)
-
1
Fog::Logger.debug "Setting properties of blob #{name} successfully."
-
1
true
-
1
rescue Azure::Core::Http::HTTPError => ex
-
1
raise "Exception in setting properties of blob #{name}: #{ex.inspect}"
-
end
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def set_blob_properties(container_name, name, properties = {})
-
1
Fog::Logger.debug "Set Blob #{name} properties #{properties.inspect} in a container #{container_name} successfully."
-
1
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def set_container_metadata(name, metadata, options = {})
-
2
msg = "Setting Container #{name} metadata."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@blob_client.set_container_metadata(name, metadata, options)
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise_azure_exception(ex, msg)
-
end
-
1
Fog::Logger.debug "Setting metadata of container #{name} successfully."
-
1
true
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def set_container_metadata(*)
-
1
Fog::Logger.debug 'Set Container testcontainer1 metadata successfully.'
-
1
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def set_recovery_vault_context(resource_group, name)
-
2
msg = "Set context for Recovery Vault #{name}"
-
2
Fog::Logger.debug msg
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version=2016-05-01"
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
RestClient.get(
-
resource_url,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully set context for Recovery Vault #{name}"
-
1
true
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def set_recovery_vault_context(*)
-
Fog::Logger.debug 'Successfully set context for Recovery Vault {name}'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
IAAS_VM_BACKUP_REQUEST = 'IaasVMBackupRequest'.freeze
-
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# Real class for Recovery Vault request
-
1
class Real
-
1
def start_backup(resource_group, name, vm_name, vm_resource_group)
-
3
msg = "Starting backup for VM #{vm_name}"
-
3
Fog::Logger.debug msg
-
-
3
job = get_backup_job_for_vm(name, resource_group, vm_name, vm_resource_group, 'Backup')
-
-
3
unless job.nil?
-
1
Fog::Logger.debug "Backup already in progress for VM #{vm_name} in Recovery Vault #{name}"
-
1
return false
-
end
-
-
2
backup_items = get_backup_item(resource_group, name, vm_name)
-
4
backup_item = backup_items.select { |item| (item['properties']['friendlyName'].eql? vm_name.downcase) && (vm_resource_group.eql? get_resource_group_from_id(item['properties']['virtualMachineId'])) }[0]
-
-
2
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;#{backup_item['name']}/protectedItems/vm;#{backup_item['name']}/backup?api-version=2016-05-01"
-
2
body = {
-
properties: {
-
objectType: IAAS_VM_BACKUP_REQUEST
-
}
-
}
-
2
begin
-
2
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
-
1
RestClient.post(
-
resource_url,
-
body.to_json,
-
accept: 'application/json',
-
content_type: 'application/json',
-
authorization: token
-
)
-
rescue RestClient::Exception => e
-
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Successfully started backup for VM #{vm_name} in Recovery Vault #{name}"
-
1
true
-
end
-
end
-
-
# Mock class for Recovery Vault request
-
1
class Mock
-
1
def start_backup(*)
-
Fog::Logger.debug 'Successfully started backup for VM {vm_name} in Recovery Vault {name}'
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def update_storage_account(storage_account_hash)
-
2
msg = "Updating Storage Account: #{storage_account_hash[:name]} in Resource Group #{storage_account_hash[:resource_group]}."
-
2
Fog::Logger.debug msg
-
2
storage_account_params = get_storage_account_update_params(storage_account_hash)
-
2
begin
-
2
storage_account = @storage_mgmt_client.storage_accounts.update(storage_account_hash[:resource_group],
-
storage_account_hash[:name],
-
storage_account_params)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug 'Storage Account updated successfully.'
-
1
storage_account
-
end
-
-
1
private
-
-
1
def get_storage_account_update_params(storage_account_hash)
-
2
params = Azure::ARM::Storage::Models::StorageAccountUpdateParameters.new
-
2
sku = Azure::ARM::Storage::Models::Sku.new
-
2
sku.name = "#{storage_account_hash[:sku_name]}_#{storage_account_hash[:replication]}"
-
2
params.sku = sku
-
2
unless storage_account_hash[:encryption].nil?
-
2
encryption = Azure::ARM::Storage::Models::Encryption.new
-
2
encryption_services = Azure::ARM::Storage::Models::EncryptionServices.new
-
2
encryption_service = Azure::ARM::Storage::Models::EncryptionService.new
-
2
encryption_service.enabled = storage_account_hash[:encryption]
-
2
encryption_service.last_enabled_time = Time.new if encryption_service.enabled
-
2
encryption_services.blob = encryption_service
-
2
encryption.services = encryption_services
-
2
params.encryption = encryption
-
end
-
2
params
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def update_storage_account(*)
-
storage_account_hash = {
-
'id' => '/subscriptions/67f2116d-4ea2-4c6c-b20a-f92183dbe3cb/resourceGroups/fog_test_rg/providers/Microsoft.Storage/storageAccounts/fogtestsasecond',
-
'name' => 'fog-test-storage-account',
-
'location' => 'west us',
-
'sku' =>
-
{
-
'name' => 'Standard_LRS'
-
}
-
}
-
storage_account_mapper = Azure::ARM::Storage::Models::StorageAccount.mapper
-
storage_mgmt_client.deserialize(storage_account_mapper, storage_account_hash, 'hash')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
1
class AzureRM
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
SINGLE_BLOB_PUT_THRESHOLD = 32 * 1024 * 1024
-
1
BLOCK_SIZE = 4 * 1024 * 1024
-
-
1
def upload_block_blob_from_file(container_name, blob_name, file_path, options = {})
-
5
Fog::Logger.debug "Uploading file #{file_path} as blob #{blob_name} to the container #{container_name}."
-
5
if file_path.nil?
-
1
blob = @blob_client.create_block_blob container_name, blob_name, nil, options
-
1
Fog::Logger.debug "Blob #{blob_name} created successfully."
-
1
return blob
-
end
-
-
4
begin
-
4
size = ::File.size file_path
-
-
4
if size <= SINGLE_BLOB_PUT_THRESHOLD
-
3
blob = @blob_client.create_block_blob container_name, blob_name, IO.binread(::File.expand_path(file_path)), options
-
else
-
1
blocks = []
-
1
::File.open file_path, 'rb' do |file|
-
1
worker_threads = []
-
-
11
while (read_bytes = file.read(BLOCK_SIZE))
-
9
block_id = Base64.strict_encode64 random_string(32)
-
-
9
while worker_threads.length >= WORKER_THREAD_COUNT
-
1
worker_threads.each do |thread|
-
4
if thread.status == false
-
4
worker_threads.delete(thread)
-
elsif thread.status.nil?
-
raise 'Exception while uploading block'
-
end
-
end
-
end
-
-
18
worker_threads << Thread.new { upload_file_block(container_name, blob_name, block_id, read_bytes, options) }
-
9
blocks << [block_id]
-
end
-
-
1
until worker_threads.length.zero?
-
212829
worker_threads.each do |thread|
-
212832
if thread.status == false
-
5
worker_threads.delete(thread)
-
elsif thread.status.nil?
-
raise 'Exception while uploading block'
-
end
-
end
-
end
-
end
-
-
1
@blob_client.commit_blob_blocks(container_name, blob_name, blocks, options)
-
1
blob = get_blob_metadata(container_name, blob_name, options)
-
end
-
rescue IOError => ex
-
1
raise "Exception in reading #{file_path}: #{ex.inspect}"
-
rescue Azure::Core::Http::HTTPError => ex
-
1
raise "Exception in uploading #{file_path}: #{ex.inspect}"
-
end
-
2
Fog::Logger.debug "Uploading #{file_path} successfully."
-
2
blob
-
end
-
-
1
private
-
-
1
def upload_file_block(container_name, blob_name, block_id, block_content, options)
-
9
@blob_client.put_blob_block(container_name, blob_name, block_id, block_content, options)
-
end
-
end
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def upload_block_blob_from_file(_container_name, blob_name, _file_path, _options = {})
-
1
Fog::Logger.debug 'Blob created successfully.'
-
{
-
'name' => blob_name,
-
'properties' =>
-
{
-
'last_modified' => 'Thu, 28 Jul 2016 06:53:05 GMT',
-
'etag' => '0x8D3B6B3D353FFCA',
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw=='
-
}
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Real class for Traffic Manager Request
-
1
class Real
-
1
def create_or_update_traffic_manager_endpoint(endpoint_hash)
-
4
msg = "Creating Traffic Manager Endpoint: #{endpoint_hash[:name]}."
-
4
Fog::Logger.debug msg
-
4
endpoint_parameters = get_endpoint_object(endpoint_hash[:target_resource_id], endpoint_hash[:target], endpoint_hash[:weight], endpoint_hash[:priority], endpoint_hash[:endpoint_location], endpoint_hash[:min_child_endpoints])
-
4
begin
-
4
traffic_manager_endpoint = @traffic_mgmt_client.endpoints.create_or_update(endpoint_hash[:resource_group], endpoint_hash[:traffic_manager_profile_name],
-
endpoint_hash[:type], endpoint_hash[:name], endpoint_parameters)
-
rescue MsRestAzure::AzureOperationError => e
-
2
raise_azure_exception(e, msg)
-
end
-
2
Fog::Logger.debug "Traffic Manager Endpoint: #{endpoint_hash[:name]} created successfully."
-
2
traffic_manager_endpoint
-
end
-
-
1
private
-
-
1
def get_endpoint_object(target_resource_id, target, weight, priority, endpoint_location, min_child_endpoints)
-
4
endpoint = Azure::ARM::TrafficManager::Models::Endpoint.new
-
4
endpoint.min_child_endpoints = min_child_endpoints
-
4
endpoint.target_resource_id = target_resource_id
-
4
endpoint.endpoint_location = endpoint_location
-
4
endpoint.priority = priority
-
4
endpoint.target = target
-
4
endpoint.weight = weight
-
4
endpoint
-
end
-
end
-
-
# Mock class for TrafficManager Request
-
1
class Mock
-
1
def create_or_update_traffic_manager_endpoint(*)
-
endpoint = {
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/externalEndpoints',
-
'properties' => {
-
'target' => 'myendpoint.contoso.com',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 5,
-
'endpointLocation' => 'northeurope'
-
}
-
}
-
endpoint_mapper = Azure::ARM::TrafficManager::Models::Endpoint.mapper
-
@traffic_mgmt_client.deserialize(endpoint_mapper, endpoint, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# This class provides the actual implementation for service call.
-
1
class Real
-
1
def create_or_update_traffic_manager_profile(profile_hash)
-
4
msg = "Creating Traffic Manager Profile: #{profile_hash[:name]}."
-
4
Fog::Logger.debug msg
-
4
profile_parameters = get_profile_object(profile_hash[:traffic_routing_method], profile_hash[:relative_name], profile_hash[:ttl], profile_hash[:protocol], profile_hash[:port], profile_hash[:path])
-
4
begin
-
4
traffic_manager_profile = @traffic_mgmt_client.profiles.create_or_update(profile_hash[:resource_group], profile_hash[:name], profile_parameters)
-
rescue MsRestAzure::AzureOperationError => e
-
2
raise_azure_exception(e, msg)
-
end
-
2
Fog::Logger.debug "Traffic Manager Profile: #{profile_hash[:name]} created successfully."
-
2
traffic_manager_profile
-
end
-
-
1
private
-
-
1
def get_profile_object(traffic_routing_method, relative_name, ttl, protocol, port, path)
-
4
traffic_manager_profile = Azure::ARM::TrafficManager::Models::Profile.new
-
4
traffic_manager_profile.traffic_routing_method = traffic_routing_method
-
4
traffic_manager_profile.location = GLOBAL
-
-
4
traffic_manager_profile.dns_config = get_traffic_manager_dns_config(relative_name, ttl)
-
4
traffic_manager_profile.monitor_config = get_traffic_manager_monitor_config(protocol, port, path)
-
4
traffic_manager_profile
-
end
-
-
1
def get_traffic_manager_dns_config(relative_name, ttl)
-
4
traffic_manager_dns_config = Azure::ARM::TrafficManager::Models::DnsConfig.new
-
4
traffic_manager_dns_config.relative_name = relative_name
-
4
traffic_manager_dns_config.ttl = ttl
-
4
traffic_manager_dns_config
-
end
-
-
1
def get_traffic_manager_monitor_config(protocol, port, path)
-
4
traffic_manager_monitor_config = Azure::ARM::TrafficManager::Models::MonitorConfig.new
-
4
traffic_manager_monitor_config.path = path
-
4
traffic_manager_monitor_config.protocol = protocol
-
4
traffic_manager_monitor_config.port = port
-
4
traffic_manager_monitor_config
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def create_or_update_traffic_manager_profile(*)
-
profile = {
-
'location' => 'global',
-
'tags' => {},
-
'properties' => {
-
'profileStatus' => 'Enabled',
-
'trafficRoutingMethod' => 'Performance',
-
'dnsConfig' => {
-
'relativeName' => 'myapp',
-
'ttl' => 30
-
},
-
'monitorConfig' => {
-
'protocol' => 'http',
-
'port' => 80,
-
'path' => '/monitorpage.aspx'
-
},
-
'endpoints' => [
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/azureEndpoints',
-
'properties' => {
-
'targetResourceId' => '{resource ID of target resource in Azure}',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 3
-
}
-
},
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/externalEndpoints',
-
'properties' => {
-
'target' => 'myendpoint.contoso.com',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 5,
-
'endpointLocation' => 'northeurope'
-
}
-
},
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/nestedEndpoints',
-
'properties' => {
-
'targetResourceId' => '{resource ID of child Traffic Manager profile}',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 1,
-
'endpointLocation' => 'westeurope',
-
'minChildEndpoints' => 1
-
}
-
}
-
]
-
}
-
}
-
profile_mapper = Azure::ARM::TrafficManager::Models::Profile.mapper
-
@traffic_mgmt_client.deserialize(profile_mapper, profile, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Real class for TrafficManager Request
-
1
class Real
-
1
def delete_traffic_manager_endpoint(resource_group, name, traffic_manager_profile_name, type)
-
2
msg = "Deleting Traffic Manager Endpoint: #{name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@traffic_mgmt_client.endpoints.delete(resource_group, traffic_manager_profile_name, type, name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Traffic Manager Endpoint: #{name} deleted successfully."
-
1
true
-
end
-
end
-
-
# Mock class for TrafficManager Request
-
1
class Mock
-
1
def delete_traffic_manager_endpoint(resource_group, name, _traffic_manager_profile_name, _type)
-
Fog::Logger.debug "Traffic Manager End Point #{name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Real class for TrafficManager Request
-
1
class Real
-
1
def delete_traffic_manager_profile(resource_group, name)
-
2
msg = "Deleting Traffic Manager Profile: #{name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
@traffic_mgmt_client.profiles.delete(resource_group, name)
-
1
true
-
1
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
end
-
end
-
# Mock class for TrafficManager Request
-
1
class Mock
-
1
def delete_traffic_manager_profile(resource_group, name)
-
Fog::Logger.debug "Traffic Manager Profile #{name} from Resource group #{resource_group} deleted successfully."
-
true
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Real class for TrafficManager Request
-
1
class Real
-
1
def get_traffic_manager_end_point(resource_group, traffic_manager_profile_name, traffic_manager_end_point, type)
-
2
msg = "Getting Traffic Manager Endpoint: #{traffic_manager_end_point} in Profile: #{traffic_manager_profile_name}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
endpoint = @traffic_mgmt_client.endpoints.get(resource_group, traffic_manager_profile_name, type, traffic_manager_end_point)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Traffic Manager Endpoint fetched successfully in Resource Group: #{resource_group}"
-
1
endpoint
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def get_traffic_manager_end_point(*)
-
endpoint = {
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/externalEndpoints',
-
'properties' => {
-
'target' => 'myendpoint.contoso.com',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 5,
-
'endpointLocation' => 'northeurope'
-
}
-
}
-
endpoint_mapper = Azure::ARM::TrafficManager::Models::Endpoint.mapper
-
@traffic_mgmt_client.deserialize(endpoint_mapper, endpoint, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Real class for TrafficManager Request
-
1
class Real
-
1
def get_traffic_manager_profile(resource_group, traffic_manager_profile_name)
-
2
msg = "Getting Traffic Manager Profile: #{traffic_manager_profile_name} in Resource Group: #{resource_group}..."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
profile = @traffic_mgmt_client.profiles.get(resource_group, traffic_manager_profile_name)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Traffic Manager Profile fetched successfully in Resource Group: #{resource_group}"
-
1
profile
-
end
-
end
-
-
# Mock class for Network Request
-
1
class Mock
-
1
def get_traffic_manager_profile(*)
-
profile = {
-
'location' => 'global',
-
'tags' => {},
-
'properties' => {
-
'profileStatus' => 'Enabled',
-
'trafficRoutingMethod' => 'Performance',
-
'dnsConfig' => {
-
'relativeName' => 'myapp',
-
'ttl' => 30
-
},
-
'monitorConfig' => {
-
'protocol' => 'http',
-
'port' => 80,
-
'path' => '/monitorpage.aspx'
-
},
-
'endpoints' => [
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/azureEndpoints',
-
'properties' => {
-
'targetResourceId' => '{resource ID of target resource in Azure}',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 3
-
}
-
},
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/externalEndpoints',
-
'properties' => {
-
'target' => 'myendpoint.contoso.com',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 5,
-
'endpointLocation' => 'northeurope'
-
}
-
},
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/nestedEndpoints',
-
'properties' => {
-
'targetResourceId' => '{resource ID of child Traffic Manager profile}',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 1,
-
'endpointLocation' => 'westeurope',
-
'minChildEndpoints' => 1
-
}
-
}
-
]
-
}
-
}
-
profile_mapper = Azure::ARM::TrafficManager::Models::Profile.mapper
-
@traffic_mgmt_client.deserialize(profile_mapper, profile, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
1
class AzureRM
-
# Real class for TrafficManager Request
-
1
class Real
-
1
def list_traffic_manager_profiles(resource_group)
-
2
msg = "Listing Traffic Manager Profiles in Resource Group: #{resource_group}."
-
2
Fog::Logger.debug msg
-
2
begin
-
2
profiles = @traffic_mgmt_client.profiles.list_all_in_resource_group(resource_group)
-
rescue MsRestAzure::AzureOperationError => e
-
1
raise_azure_exception(e, msg)
-
end
-
1
Fog::Logger.debug "Traffic Manager Profiles listed successfully in Resource Group: #{resource_group}"
-
1
profiles.value
-
end
-
end
-
-
# Mock class for TrafficManager Request
-
1
class Mock
-
1
def list_traffic_manager_profiles(*)
-
profiles = [
-
{
-
'location' => 'global',
-
'tags' => {},
-
'properties' => {
-
'profileStatus' => 'Enabled',
-
'trafficRoutingMethod' => 'Performance',
-
'dnsConfig' => {
-
'relativeName' => 'myapp',
-
'ttl' => 30
-
},
-
'monitorConfig' => {
-
'protocol' => 'http',
-
'port' => 80,
-
'path' => '/monitorpage.aspx'
-
},
-
'endpoints' => [
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/azureEndpoints',
-
'properties' => {
-
'targetResourceId' => '{resource ID of target resource in Azure}',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 3
-
}
-
},
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/externalEndpoints',
-
'properties' => {
-
'target' => 'myendpoint.contoso.com',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 5,
-
'endpointLocation' => 'northeurope'
-
}
-
},
-
{
-
'name' => '{endpoint-name}',
-
'type' => 'Microsoft.Network/trafficManagerProfiles/nestedEndpoints',
-
'properties' => {
-
'targetResourceId' => '{resource ID of child Traffic Manager profile}',
-
'endpointStatus' => 'Enabled',
-
'weight' => 10,
-
'priority' => 1,
-
'endpointLocation' => 'westeurope',
-
'minChildEndpoints' => 1
-
}
-
}
-
]
-
}
-
}
-
]
-
profiles_mapper = Azure::ARM::TrafficManager::Models::ProfileListResult.mapper
-
@traffic_mgmt_client.deserialize(profiles_mapper, profiles, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Resources
-
# This class registers models, requests and collections
-
1
class AzureRM < Fog::Service
-
1
requires :tenant_id
-
1
requires :client_id
-
1
requires :client_secret
-
1
requires :subscription_id
-
-
1
request_path 'fog/azurerm/requests/resources'
-
1
request :create_resource_group
-
1
request :list_resource_groups
-
1
request :delete_resource_group
-
1
request :get_resource_group
-
1
request :create_deployment
-
1
request :delete_deployment
-
1
request :list_deployments
-
1
request :get_deployment
-
1
request :delete_resource_tag
-
1
request :list_tagged_resources
-
1
request :tag_resource
-
-
1
model_path 'fog/azurerm/models/resources'
-
1
model :resource_group
-
1
collection :resource_groups
-
1
model :deployment
-
1
collection :deployments
-
1
model :dependency
-
1
model :provider
-
1
model :provider_resource_type
-
1
model :azure_resource
-
1
collection :azure_resources
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def initialize(_options = {})
-
begin
-
require 'azure_mgmt_resources'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
end
-
end
-
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def initialize(options)
-
153
begin
-
153
require 'azure_mgmt_resources'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
-
153
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
-
153
@rmc = ::Azure::ARM::Resources::ResourceManagementClient.new(credentials)
-
153
@rmc.subscription_id = options[:subscription_id]
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Sql
-
# This class registers models, requests and collections
-
1
class AzureRM < Fog::Service
-
1
requires :tenant_id
-
1
requires :client_id
-
1
requires :client_secret
-
1
requires :subscription_id
-
-
1
request_path 'fog/azurerm/requests/sql'
-
1
request :create_or_update_sql_server
-
1
request :delete_sql_server
-
1
request :get_sql_server
-
1
request :list_sql_servers
-
-
1
request :create_or_update_database
-
1
request :delete_database
-
1
request :get_database
-
1
request :list_databases
-
-
1
request :create_or_update_firewall_rule
-
1
request :delete_firewall_rule
-
1
request :get_firewall_rule
-
1
request :list_firewall_rules
-
-
1
model_path 'fog/azurerm/models/sql'
-
1
model :sql_server
-
1
collection :sql_servers
-
-
1
model :sql_database
-
1
collection :sql_databases
-
-
1
model :firewall_rule
-
1
collection :firewall_rules
-
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def initialize(options)
-
60
@tenant_id = options[:tenant_id]
-
60
@client_id = options[:client_id]
-
60
@client_secret = options[:client_secret]
-
60
@subscription_id = options[:subscription_id]
-
60
@resources = Fog::Resources::AzureRM.new(
-
tenant_id: options[:tenant_id],
-
client_id: options[:client_id],
-
client_secret: options[:client_secret],
-
subscription_id: options[:subscription_id]
-
)
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def initialize(_options = {})
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module Storage
-
# This class registers models, requests and collections
-
1
class AzureRM < Fog::Service
-
# Recognizes when creating management client
-
1
recognizes :tenant_id
-
1
recognizes :client_id
-
1
recognizes :client_secret
-
1
recognizes :subscription_id
-
-
# Recognizes when creating data client
-
1
recognizes :azure_storage_account_name
-
1
recognizes :azure_storage_access_key
-
1
recognizes :azure_storage_connection_string
-
1
recognizes :debug
-
-
1
request_path 'fog/azurerm/requests/storage'
-
# Azure Storage Account requests
-
1
request :create_storage_account
-
1
request :update_storage_account
-
1
request :list_storage_accounts
-
1
request :delete_storage_account
-
1
request :get_storage_account
-
1
request :list_storage_account_for_rg
-
1
request :check_storage_account_name_availability
-
1
request :get_storage_access_keys
-
# Azure Storage Disk requests
-
1
request :delete_disk
-
1
request :create_disk
-
# Azure Storage Container requests
-
1
request :create_container
-
1
request :release_container_lease
-
1
request :acquire_container_lease
-
1
request :delete_container
-
1
request :list_containers
-
1
request :get_container_metadata
-
1
request :set_container_metadata
-
1
request :get_container_properties
-
1
request :get_container_access_control_list
-
# Azure Storage Blob requests
-
1
request :list_blobs
-
1
request :set_blob_metadata
-
1
request :get_blob_metadata
-
1
request :set_blob_properties
-
1
request :get_blob_properties
-
1
request :upload_block_blob_from_file
-
1
request :download_blob_to_file
-
1
request :copy_blob
-
1
request :copy_blob_from_uri
-
1
request :compare_container_blobs
-
1
request :check_blob_exist
-
1
request :acquire_blob_lease
-
1
request :release_blob_lease
-
1
request :delete_blob
-
# Azure Recovery Vault requests
-
1
request :create_or_update_recovery_vault
-
1
request :get_recovery_vault
-
1
request :list_recovery_vaults
-
1
request :delete_recovery_vault
-
1
request :enable_backup_protection
-
1
request :set_recovery_vault_context
-
1
request :get_backup_protection_policy
-
1
request :start_backup
-
1
request :get_backup_item
-
1
request :get_backup_container
-
1
request :disable_backup_protection
-
1
request :get_all_backup_jobs
-
1
request :get_all_backup_jobs
-
1
request :get_backup_job_for_vm
-
-
1
model_path 'fog/azurerm/models/storage'
-
1
model :storage_account
-
1
collection :storage_accounts
-
1
model :data_disk
-
1
model :directory
-
1
collection :directories
-
1
model :file
-
1
collection :files
-
1
model :recovery_vault
-
1
collection :recovery_vaults
-
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def initialize(_options = {})
-
57
begin
-
57
require 'azure_mgmt_storage'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
end
-
end
-
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def initialize(options)
-
282
begin
-
282
require 'azure_mgmt_storage'
-
282
require 'azure/storage'
-
282
@debug = ENV['DEBUG'] || options[:debug]
-
282
require 'azure/core/http/debug_filter' if @debug
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
-
282
@tenant_id = options[:tenant_id]
-
282
@client_id = options[:client_id]
-
282
@client_secret = options[:client_secret]
-
282
@subscription_id = options[:subscription_id]
-
-
282
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
-
282
unless credentials.nil?
-
259
@storage_mgmt_client = ::Azure::ARM::Storage::StorageManagementClient.new(credentials)
-
259
@storage_mgmt_client.subscription_id = options[:subscription_id]
-
end
-
-
282
if Fog::Credentials::AzureRM.new_account_credential? options
-
101
Azure::Storage.setup(storage_account_name: options[:azure_storage_account_name],
-
storage_access_key: options[:azure_storage_access_key],
-
storage_connection_string: options[:azure_storage_connection_string])
-
-
101
@blob_client = Azure::Storage::Blob::BlobService.new
-
101
@blob_client.with_filter(Azure::Storage::Core::Filter::ExponentialRetryPolicyFilter.new)
-
101
@blob_client.with_filter(Azure::Core::Http::DebugFilter.new) if @debug
-
end
-
end
-
end
-
end
-
end
-
end
-
1
module Fog
-
1
module TrafficManager
-
# This class registers models, requests and collections
-
1
class AzureRM < Fog::Service
-
1
requires :tenant_id
-
1
requires :client_id
-
1
requires :client_secret
-
1
requires :subscription_id
-
-
1
request_path 'fog/azurerm/requests/traffic_manager'
-
1
request :create_or_update_traffic_manager_profile
-
1
request :delete_traffic_manager_profile
-
1
request :get_traffic_manager_profile
-
1
request :list_traffic_manager_profiles
-
-
1
request :create_or_update_traffic_manager_endpoint
-
1
request :delete_traffic_manager_endpoint
-
1
request :get_traffic_manager_endpoint
-
-
1
model_path 'fog/azurerm/models/traffic_manager'
-
1
model :traffic_manager_profile
-
1
collection :traffic_manager_profiles
-
-
1
model :traffic_manager_end_point
-
1
collection :traffic_manager_end_points
-
-
# This class provides the actual implementation for service calls.
-
1
class Real
-
1
def initialize(options)
-
35
begin
-
35
require 'azure_mgmt_traffic_manager'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
-
35
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
-
35
@traffic_mgmt_client = ::Azure::ARM::TrafficManager::TrafficManagerManagementClient.new(credentials)
-
35
@traffic_mgmt_client.subscription_id = options[:subscription_id]
-
end
-
end
-
# This class provides the mock implementation for unit tests.
-
1
class Mock
-
1
def initialize(_options = {})
-
begin
-
require 'azure_mgmt_traffic_manager'
-
rescue LoadError => e
-
retry if require('rubygems')
-
raise e.message
-
end
-
end
-
end
-
end
-
end
-
end
-
# Pick Resource Group name from Azure Resource Id(String)
-
1
def get_resource_group_from_id(id)
-
235
id.split('/')[4]
-
end
-
-
# Pick Virtual Network name from Subnet Resource Id(String)
-
1
def get_virtual_network_from_id(subnet_id)
-
21
subnet_id.split('/')[8]
-
end
-
-
1
def get_circuit_name_from_id(circuit_peering_id)
-
circuit_peering_id.split('/')[8]
-
end
-
-
# Pick Virtual Machine name from Virtual Machine Extension Id(String)
-
1
def get_virtual_machine_from_id(vme_id)
-
3
vme_id.split('/')[VM_NAME_POSITION]
-
end
-
-
# Extract Endpoint type from (String)
-
1
def get_end_point_type(endpoint_type)
-
29
endpoint_type.split('/')[2]
-
end
-
-
1
def get_record_set_from_id(id)
-
10
id.split('/')[8]
-
end
-
-
1
def get_type_from_recordset_type(type)
-
10
type.split('/')[2]
-
end
-
-
1
def get_hash_from_object(object)
-
50
hash = {}
-
466
object.instance_variables.each { |attr| hash[attr.to_s.delete('@')] = object.instance_variable_get(attr) }
-
50
hash
-
end
-
-
# Extract Traffic Manager Profile Name from Endpoint id(String)
-
1
def get_traffic_manager_profile_name_from_endpoint_id(endpoint_id)
-
29
endpoint_id.split('/')[8]
-
end
-
-
# Get server name from ID (String)
-
1
def get_server_name_from_id(database_id)
-
10
database_id.split('/')[8]
-
end
-
-
# Pick Express Route Circuit name from Id(String)
-
1
def get_circuit_name_from_id(circuit_id)
-
15
circuit_id.split('/')[8]
-
end
-
-
1
def get_record_type(type)
-
5
type.split('/').last
-
end
-
-
1
def raise_azure_exception(exception, msg)
-
150
message = if exception.respond_to? 'body'
-
139
"Exception in #{msg} #{exception.body['error']['message'] unless exception.body['error']['message'].nil?} Type: #{exception.class} \n "
-
else
-
11
exception.inspect
-
end
-
148
Fog::Logger.debug exception.backtrace
-
148
raise message
-
end
-
-
# Make sure if input_params(Hash) contains all keys present in required_params(Array)
-
1
def validate_params(required_params, input_params)
-
9
missing_params = required_params.select { |param| param unless input_params.key?(param) }
-
-
3
if missing_params.any?
-
raise(ArgumentError, "Missing Parameters: #{missing_params.join(', ')} required for this operation")
-
end
-
end
-
-
1
def get_resource_from_resource_id(resource_id, position)
-
60
data = resource_id.split('/') unless resource_id.nil?
-
-
60
raise 'Invalid Resource ID' if data.count < 9 && data.count != 5
-
-
60
data[position]
-
end
-
-
1
def random_string(length)
-
297
(0...length).map { ('a'..'z').to_a[rand(26)] }.join
-
end
-
-
1
def get_time
-
time = Time.now.to_f.to_s
-
time.split(/\W+/).join
-
end
-
-
1
def get_blob_link(storage_account_name)
-
7
"http://#{storage_account_name}.blob.core.windows.net"
-
end
-
1
module Fog
-
1
module AzureRM
-
1
VERSION = '0.1.0'.freeze
-
end
-
end
-
# Module for API Stub
-
1
module ApiStub
-
1
module Models
-
1
module Compute
-
1
autoload :Server, File.expand_path('api_stub/models/compute/server', __dir__)
-
1
autoload :AvailabilitySet, File.expand_path('api_stub/models/compute/availability_set', __dir__)
-
1
autoload :VirtualMachineExtension, File.expand_path('api_stub/models/compute/virtual_machine_extension', __dir__)
-
end
-
-
1
module Resources
-
1
autoload :ResourceGroup, File.expand_path('api_stub/models/resources/resource_group', __dir__)
-
1
autoload :Deployment, File.expand_path('api_stub/models/resources/deployment', __dir__)
-
1
autoload :Resource, File.expand_path('api_stub/models/resources/resource', __dir__)
-
end
-
-
1
module Storage
-
1
autoload :StorageAccount, File.expand_path('api_stub/models/storage/storageaccount', __dir__)
-
1
autoload :File, ::File.expand_path('api_stub/models/storage/file', __dir__)
-
1
autoload :Directory, ::File.expand_path('api_stub/models/storage/directory', __dir__)
-
1
autoload :RecoveryVault, ::File.expand_path('api_stub/models/storage/recovery_vault', __dir__)
-
end
-
-
1
module Network
-
1
autoload :PublicIp, File.expand_path('api_stub/models/network/public_ip', __dir__)
-
1
autoload :Subnet, File.expand_path('api_stub/models/network/subnet', __dir__)
-
1
autoload :VirtualNetwork, File.expand_path('api_stub/models/network/virtual_network', __dir__)
-
1
autoload :NetworkInterface, File.expand_path('api_stub/models/network/network_interface', __dir__)
-
1
autoload :LoadBalancer, File.expand_path('api_stub/models/network/load_balancer', __dir__)
-
1
autoload :NetworkSecurityGroup, File.expand_path('api_stub/models/network/network_security_group', __dir__)
-
1
autoload :NetworkSecurityRule, File.expand_path('api_stub/models/network/network_security_rule', __dir__)
-
1
autoload :VirtualNetworkGateway, File.expand_path('api_stub/models/network/virtual_network_gateway', __dir__)
-
1
autoload :VirtualNetworkGatewayConnection, File.expand_path('api_stub/models/network/virtual_network_gateway_connection', __dir__)
-
1
autoload :ExpressRouteCircuit, File.expand_path('api_stub/models/network/express_route_circuit', __dir__)
-
1
autoload :ExpressRouteCircuitPeering, File.expand_path('api_stub/models/network/express_route_circuit_peering', __dir__)
-
1
autoload :ExpressRouteCircuitAuthorization, File.expand_path('api_stub/models/network/express_route_circuit_authorization', __dir__)
-
1
autoload :ExpressRouteServiceProvider, File.expand_path('api_stub/models/network/express_route_service_provider', __dir__)
-
1
autoload :LocalNetworkGateway, File.expand_path('api_stub/models/network/local_network_gateway', __dir__)
-
end
-
-
1
module ApplicationGateway
-
1
autoload :Gateway, File.expand_path('api_stub/models/application_gateway/gateway', __dir__)
-
end
-
-
1
module TrafficManager
-
1
autoload :TrafficManagerEndPoint, File.expand_path('api_stub/models/traffic_manager/traffic_manager_end_point', __dir__)
-
1
autoload :TrafficManagerProfile, File.expand_path('api_stub/models/traffic_manager/traffic_manager_profile', __dir__)
-
end
-
-
1
module DNS
-
1
autoload :Zone, File.expand_path('api_stub/models/dns/zone', __dir__)
-
1
autoload :RecordSet, File.expand_path('api_stub/models/dns/record_set', __dir__)
-
end
-
-
1
module Sql
-
1
autoload :SqlServer, File.expand_path('api_stub/models/sql/sql_server', __dir__)
-
1
autoload :SqlDatabase, File.expand_path('api_stub/models/sql/sql_database', __dir__)
-
1
autoload :SqlFirewallRule, File.expand_path('api_stub/models/sql/sql_firewall_rule', __dir__)
-
end
-
end
-
-
1
module Requests
-
1
module Compute
-
1
autoload :AvailabilitySet, File.expand_path('api_stub/requests/compute/availability_set', __dir__)
-
1
autoload :VirtualMachine, File.expand_path('api_stub/requests/compute/virtual_machine', __dir__)
-
1
autoload :VirtualMachineExtension, File.expand_path('api_stub/requests/compute/virtual_machine_extension', __dir__)
-
end
-
-
1
module Resources
-
1
autoload :ResourceGroup, File.expand_path('api_stub/requests/resources/resource_group', __dir__)
-
1
autoload :Deployment, File.expand_path('api_stub/requests/resources/deployment', __dir__)
-
1
autoload :AzureResource, File.expand_path('api_stub/requests/resources/resource', __dir__)
-
end
-
-
1
module Storage
-
1
autoload :StorageAccount, File.expand_path('api_stub/requests/storage/storageaccount', __dir__)
-
1
autoload :File, ::File.expand_path('api_stub/requests/storage/file', __dir__)
-
1
autoload :Directory, ::File.expand_path('api_stub/requests/storage/directory', __dir__)
-
1
autoload :RecoveryVault, ::File.expand_path('api_stub/requests/storage/recovery_vault', __dir__)
-
end
-
-
1
module Network
-
1
autoload :PublicIp, File.expand_path('api_stub/requests/network/public_ip', __dir__)
-
1
autoload :Subnet, File.expand_path('api_stub/requests/network/subnet', __dir__)
-
1
autoload :VirtualNetwork, File.expand_path('api_stub/requests/network/virtual_network', __dir__)
-
1
autoload :NetworkInterface, File.expand_path('api_stub/requests/network/network_interface', __dir__)
-
1
autoload :LoadBalancer, File.expand_path('api_stub/requests/network/load_balancer', __dir__)
-
1
autoload :NetworkSecurityGroup, File.expand_path('api_stub/requests/network/network_security_group', __dir__)
-
1
autoload :NetworkSecurityRule, File.expand_path('api_stub/requests/network/network_security_rule', __dir__)
-
1
autoload :VirtualNetworkGateway, File.expand_path('api_stub/requests/network/virtual_network_gateway', __dir__)
-
1
autoload :VirtualNetworkGatewayConnection, File.expand_path('api_stub/requests/network/virtual_network_gateway_connection', __dir__)
-
1
autoload :ExpressRouteCircuit, File.expand_path('api_stub/requests/network/express_route_circuit', __dir__)
-
1
autoload :ExpressRouteCircuitPeering, File.expand_path('api_stub/requests/network/express_route_circuit_peering', __dir__)
-
1
autoload :ExpressRouteCircuitAuthorization, File.expand_path('api_stub/requests/network/express_route_circuit_authorization', __dir__)
-
1
autoload :ExpressRouteServiceProvider, File.expand_path('api_stub/requests/network/express_route_service_provider', __dir__)
-
1
autoload :LocalNetworkGateway, File.expand_path('api_stub/requests/network/local_network_gateway', __dir__)
-
end
-
-
1
module ApplicationGateway
-
1
autoload :Gateway, File.expand_path('api_stub/requests/application_gateway/gateway', __dir__)
-
end
-
-
1
module TrafficManager
-
1
autoload :TrafficManagerEndPoint, File.expand_path('api_stub/requests/traffic_manager/traffic_manager_endpoint', __dir__)
-
1
autoload :TrafficManagerProfile, File.expand_path('api_stub/requests/traffic_manager/traffic_manager_profile', __dir__)
-
end
-
-
1
module DNS
-
1
autoload :Zone, File.expand_path('api_stub/requests/dns/zone', __dir__)
-
1
autoload :RecordSet, File.expand_path('api_stub/requests/dns/record_set', __dir__)
-
end
-
-
1
module Sql
-
1
autoload :SqlServer, File.expand_path('api_stub/requests/sql/sql_server', __dir__)
-
1
autoload :SqlDatabase, File.expand_path('api_stub/requests/sql/database', __dir__)
-
1
autoload :FirewallRule, File.expand_path('api_stub/requests/sql/firewall_rule', __dir__)
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module ApplicationGateway
-
# Mock class for Application Gateway Model
-
1
class Gateway
-
1
def self.create_application_gateway_response(gateway_client)
-
18
gateway = '{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/ag-demoagplat",
-
"name": "gateway",
-
"type": "Microsoft.Network/applicationGateways",
-
"location": "eastus",
-
"properties": {
-
"sku": {
-
"name": "Standard_Medium",
-
"tier": "Standard",
-
"capacity": 2
-
},
-
"gatewayIpConfigurations": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/gatewayIPConfigurations/ag-GatewayIP",
-
"properties": {
-
"subnet": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "ag-GatewayIP"
-
}],
-
"sslCertificates": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate",
-
"properties": {
-
"publicCertData": "MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=",
-
"provisioningState": "Succeeded"
-
},
-
"name": "ssl_certificate"
-
}],
-
"frontendIpConfigurations": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config",
-
"properties": {
-
"privateIPAllocationMethod": "Dynamic",
-
"publicIPAddress": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/ag_publicip-672835"
-
},
-
"privateIPAddress": "10.0.1.5",
-
"provisioningState": "Succeeded"
-
},
-
"name": "frontend_ip_config"
-
}],
-
"frontendPorts": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port",
-
"properties": {
-
"port": 443,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_front_port"
-
}],
-
"probes": [{
-
"name": "<probeName>",
-
"id": "/subscriptions/<subscriptionId>/../microsoft.network/applicationGateways/<gatewayName>/probes/<probeName>",
-
"properties": {
-
"protocol": "<probeProtocol>",
-
"host": "<probeHost>",
-
"path": "<probePath>",
-
"interval": "30",
-
"timeout": "20",
-
"unhealthyThreshold": "20"
-
}
-
}],
-
"backendAddressPools": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool",
-
"properties": {
-
"backendAddresses": [{
-
"ipAddress": "10.0.0.4"
-
}, {
-
"ipAddress": "10.0.0.5"
-
}],
-
"provisioningState": "Succeeded"
-
},
-
"name": "AG-BackEndAddressPool"
-
}],
-
"backendHttpSettingsCollection": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings",
-
"properties": {
-
"port": 80,
-
"protocol": "Http",
-
"cookieBasedAffinity": "Enabled",
-
"requestTimeout": 30,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_settings"
-
}],
-
"httpListeners": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener",
-
"properties": {
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/ag-demoagplat/frontendIPConfigurations/frontend_ip_config"
-
},
-
"frontendPort": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/ag-demoagplat/frontendPorts/gateway_front_port"
-
},
-
"protocol": "Https",
-
"sslCertificate": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/ag-demoagplat/sslCertificates/ssl_certificate"
-
},
-
"requireServerNameIndication": false,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_listener"
-
}],
-
"urlPathMaps": [],
-
"requestRoutingRules": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/ag-demoagplat/requestRoutingRules/gateway_request_route_rule",
-
"properties": {
-
"ruleType": "Basic",
-
"backendAddressPool": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/ag-demoagplat/backendAddressPools/AG-BackEndAddressPool"
-
},
-
"backendHttpSettings": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/ag-demoagplat/backendHttpSettingsCollection/gateway_settings"
-
},
-
"httpListener": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/ag-demoagplat/httpListeners/gateway_listener"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_request_route_rule"
-
}],
-
"resourceGuid": "b3db5ebf-10f8-4666-9596-d1459530f64b",
-
"provisioningState": "Succeeded"
-
}
-
}'
-
18
gateway_mapper = Azure::ARM::Network::Models::ApplicationGateway.mapper
-
18
gateway_client.deserialize(gateway_mapper, JSON.load(gateway), 'result.body')
-
end
-
-
1
def self.ssl_certifcate
-
{
-
name: '<SSL Certificate name>',
-
data: 'Base-64 encoded pfx certificate',
-
password: 'azure',
-
public_cert_data: 'Base-64 encoded Public cert data corresponding to pfx specified in data.'
-
14
}
-
end
-
-
1
def self.frontend_port
-
{
-
name: '<Frontend port name>',
-
port: 80
-
14
}
-
end
-
-
1
def self.probe
-
{
-
name: '<Probe name>',
-
protocol: 'http',
-
host: 'localhost',
-
path: '/fog-test',
-
interval: 60,
-
timeout: 300,
-
unhealthy_threshold: 5
-
14
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Compute
-
# Mock class for Availability Set Model
-
1
class AvailabilitySet
-
1
def self.create_availability_set_response(sdk_compute_client)
-
5
avail_set = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/availabilitySets/fog-test-availability-set',
-
'name' => 'fog-test-availability-set',
-
'type' => 'Microsoft.Compute/availabilitySets',
-
'location' => 'westus',
-
'platformUpdateDomainCount' => UPDATE_DOMAIN_COUNT,
-
'platformFaultDomainCount' => FAULT_DOMAIN_COUNT
-
-
}
-
5
result_mapper = Azure::ARM::Compute::Models::AvailabilitySet.mapper
-
5
sdk_compute_client.deserialize(result_mapper, avail_set, 'result.body')
-
end
-
-
1
def self.list_availability_set_response(sdk_compute_client)
-
4
avail_set = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/availabilitySets/fog-test-availability-set',
-
'name' => 'fog-test-availability-set',
-
'type' => 'Microsoft.Compute/availabilitySets',
-
'location' => 'westus',
-
'platformUpdateDomainCount' => UPDATE_DOMAIN_COUNT,
-
'platformFaultDomainCount' => FAULT_DOMAIN_COUNT
-
-
}
-
4
result_mapper = Azure::ARM::Compute::Models::AvailabilitySet.mapper
-
4
sdk_compute_client.deserialize(result_mapper, avail_set, 'result.body')
-
end
-
-
1
def self.get_availability_set_response(sdk_compute_client)
-
4
avail_set = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/availabilitySets/fog-test-availability-set',
-
'name' => 'fog-test-availability-set',
-
'type' => 'Microsoft.Compute/availabilitySets',
-
'location' => 'westus',
-
'platformUpdateDomainCount' => UPDATE_DOMAIN_COUNT,
-
'platformFaultDomainCount' => FAULT_DOMAIN_COUNT
-
-
}
-
4
result_mapper = Azure::ARM::Compute::Models::AvailabilitySet.mapper
-
4
sdk_compute_client.deserialize(result_mapper, avail_set, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Compute
-
# Mock class for Server Model
-
1
class Server
-
1
def self.create_linux_virtual_machine_response(compute_client)
-
2
body = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'location' => 'West US',
-
'properties' => {
-
'hardwareProfile' => {
-
'vmSize' => 'Basic_A0'
-
},
-
'storageProfile' => {
-
'imageReference' => {
-
'publisher' => 'Canonical',
-
'offer' => 'UbuntuServer',
-
'sku' => '14.04.2-LTS',
-
'version' => 'latest'
-
},
-
'osDisk' => {
-
'name' => 'fog-test-server_os_disk',
-
'vhd' => {
-
'uri' => 'http://storageAccount.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
-
}
-
},
-
'dataDisks' => [
-
{
-
'name' => 'disk1',
-
'diskSizeGB' => '10',
-
'lun' => 0,
-
'vhd' => {
-
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/disk1.vhd'
-
}
-
}
-
]
-
},
-
'osProfile' => {
-
'computerName' => 'fog-test-server',
-
'adminUsername' => 'shaffan',
-
'linuxConfiguration' => {
-
'disablePasswordAuthentication' => false
-
}
-
},
-
'networkProfile' => {
-
'networkInterfaces' => [
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fogtestnetworkinterface'
-
}
-
]
-
}
-
}
-
}
-
2
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
2
compute_client.deserialize(vm_mapper, body, 'result.body')
-
end
-
-
1
def self.create_windows_virtual_machine_response(compute_client)
-
5
body = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'location' => 'West US',
-
'properties' => {
-
'hardwareProfile' => {
-
'vmSize' => 'Basic_A0'
-
},
-
'storageProfile' => {
-
'imageReference' => {
-
'publisher' => 'MicrosoftWindowsServerEssentials',
-
'offer' => 'WindowsServerEssentials',
-
'sku' => 'WindowsServerEssentials',
-
'version' => 'latest'
-
},
-
'osDisk' => {
-
'name' => 'fog-test-server_os_disk',
-
'vhd' => {
-
'uri' => 'http://storageAccount.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
-
}
-
}
-
},
-
'osProfile' => {
-
'computerName' => 'fog-test-server',
-
'adminUsername' => 'shaffan',
-
'windowsConfiguration' => {
-
'provisionVMAgent' => true,
-
'winRM' => {
-
'listeners' => [{
-
'protocol' => 'https',
-
'certificateUrl' => 'certificateUrl'
-
}]
-
},
-
'enableAutomaticUpdates' => true
-
},
-
'secrets' => []
-
},
-
'networkProfile' => {
-
'networkInterfaces' => [
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fogtestnetworkinterface'
-
}
-
]
-
}
-
}
-
}
-
5
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
5
compute_client.deserialize(vm_mapper, body, 'result.body')
-
end
-
-
1
def self.list_available_sizes_for_virtual_machine_response(compute_client)
-
1
body = '{
-
"value": [
-
{
-
"name": "Standard_A0",
-
"numberOfCores": 1,
-
"osDiskSizeInMB": 130048,
-
"resourceDiskSizeInMB": 20480,
-
"memoryInMB": 768,
-
"maxDataDiskCount": 1
-
}
-
]
-
}'
-
1
vm_mapper = Azure::ARM::Compute::Models::VirtualMachineSizeListResult.mapper
-
1
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body').value
-
end
-
-
1
def self.attach_data_disk_response(compute_client)
-
1
body = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'location' => 'West US',
-
'properties' => {
-
'hardwareProfile' => {
-
'vmSize' => 'Basic_A0'
-
},
-
'storageProfile' => {
-
'imageReference' => {
-
'publisher' => 'Canonical',
-
'offer' => 'UbuntuServer',
-
'sku' => '14.04.2-LTS',
-
'version' => 'latest'
-
},
-
'osDisk' => {
-
'name' => 'fog-test-server_os_disk',
-
'vhd' => {
-
'uri' => 'http://storageAccount.blob.core.windows.net/vhds/fog-test-server_os_disk.vhd'
-
}
-
},
-
'dataDisks' => [
-
{
-
'name' => 'disk1',
-
'diskSizeGB' => '10',
-
'lun' => 0,
-
'vhd' => {
-
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/disk1.vhd'
-
}
-
},
-
{
-
'name' => 'disk2',
-
'diskSizeGB' => '10',
-
'lun' => 0,
-
'vhd' => {
-
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/disk2.vhd'
-
}
-
}
-
]
-
},
-
'osProfile' => {
-
'computerName' => 'fog-test-server',
-
'adminUsername' => 'shaffan',
-
'linuxConfiguration' => {
-
'disablePasswordAuthentication' => false
-
}
-
},
-
'networkProfile' => {
-
'networkInterfaces' => [
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fogtestnetworkinterface'
-
}
-
]
-
}
-
}
-
}
-
1
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
1
compute_client.deserialize(vm_mapper, body, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Compute
-
# Mock class for VirtualMachineExtension model
-
1
class VirtualMachineExtension
-
1
def self.create_vm_extension_response(compute_client)
-
5
body = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/TestRG/providers/Microsoft.Compute/virtualMachines/TestVM/extensions/IaaSAntimalware',
-
'name' => 'IaasAntimalware',
-
'resource_group' => 'fog-test-rg',
-
'location' => 'West US',
-
'properties' => {
-
'publisher' => 'Microsoft.Azure.Security',
-
'type' => 'IaaSAntimalware',
-
'typeHandlerVersion' => '1.3',
-
'autoUpgradeMinorVersion' => 'true',
-
'forceUpdateTag' => 'RerunExtension',
-
'settings' => {
-
'AnitmalwareEnabled' => 'true',
-
'RealtimeProtectionEnabled' => 'false'
-
},
-
'protected_settings' => {}
-
}
-
}
-
5
extension_mapper = Azure::ARM::Compute::Models::VirtualMachineExtension.mapper
-
5
compute_client.deserialize(extension_mapper, body, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module DNS
-
# Mock class for Record Set
-
1
class RecordSet
-
1
def self.create_record_set_obj(dns_client)
-
16
record_set = '{
-
"id" : "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/dnszones/fog-test-zone.com/A/fog-test-record_set",
-
"name": "fog-test-record_set",
-
"type": "Microsoft.Network/dnszones/A",
-
"etag": "3376a38f-a53f-4ed0-a2e7-dfaba67dbb40",
-
"location": "global",
-
"properties":
-
{
-
"metadata": [],
-
"fqdn": "fog-test-record_set.fog-test-zone.com.",
-
"TTL": 60,
-
"ARecords":
-
[
-
{
-
"ipv4Address": "1.2.3.4"
-
},
-
{
-
"ipv4Address": "1.2.3.3"
-
}
-
]
-
}
-
}'
-
16
record_set_mapper = Azure::ARM::Dns::Models::RecordSet.mapper
-
16
dns_client.deserialize(record_set_mapper, JSON.load(record_set), 'result.body')
-
end
-
-
1
def self.response_for_cname(dns_client)
-
1
cname_record = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/EdgeMonitoring2/providers/Microsoft.Network/dnszones/edgemonitoring2.com./CNAME/www",
-
"location": "global",
-
"name": "www",
-
"tags": {},
-
"type": "Microsoft.Network/dnszones/CNAME",
-
"etag": "5b83020b-b59c-44be-8f19-a052ebe80fe7",
-
"properties": {
-
"metadata": [],
-
"fqdn": "fog-test-record_set.fog-test-zone.com.",
-
"TTL": "60",
-
"CNAMERecord":
-
{
-
"cname": "test.fog.com"
-
}
-
}
-
}'
-
1
cname_record_mapper = Azure::ARM::Dns::Models::RecordSet.mapper
-
1
dns_client.deserialize(cname_record_mapper, JSON.load(cname_record), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module DNS
-
# Mock class for Zone
-
1
class Zone
-
1
def self.create_zone_obj(dns_client)
-
11
zone = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/dnszones/fog-test-zone.com",
-
"name": "fog-test-zone.com",
-
"type": "Microsoft.Network/dnszones",
-
"etag": "00000003-0000-0000-bd66-02b337a4d101",
-
"location": "global",
-
"tags": {},
-
"properties":
-
{
-
"maxNumberOfRecordSets": 100,
-
"nameServers": [],
-
"numberOfRecordSets": 2,
-
"parentResourceGroupName": "fog-test-rg"
-
},
-
"resource_group": "fog-test-rg"
-
}'
-
11
zone_mapper = Azure::ARM::Dns::Models::Zone.mapper
-
11
dns_client.deserialize(zone_mapper, JSON.load(zone), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
# Mock class for Express Route Circuit Model
-
1
class ExpressRouteCircuit
-
1
def self.create_express_route_circuit_response(network_client)
-
3
circuit = '{
-
"name": "<circuit name>",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/testCircuit",
-
"location": "<location>",
-
"tags": {
-
"key1": "value1",
-
"key2": "value2"
-
},
-
"sku": {
-
"name": "Standard_MeteredData",
-
"tier": "Standard",
-
"family": "MeteredData"
-
},
-
"properties": {
-
"serviceProviderProperties": {
-
"serviceProviderName": "serviceProviderName",
-
"peeringLocation": "<peering location>",
-
"bandwidthInMbps": 100
-
},
-
"peerings": [
-
{
-
"name": "AzurePublicPeering",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}",
-
"properties": {
-
"peeringType": "AzurePublicPeering",
-
"peerASN": 100,
-
"PrimaryPeerAddressPrefix": "192.168.1.0/30",
-
"SecondaryPeerAddressPrefix": "192.168.2.0/30",
-
"vlanId": 200
-
}
-
}
-
]
-
}
-
}'
-
3
express_route_circuit_mapper = Azure::ARM::Network::Models::ExpressRouteCircuit.mapper
-
3
network_client.deserialize(express_route_circuit_mapper, JSON.load(circuit), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
# Mock class for Express Route Circuit Authorization Model
-
1
class ExpressRouteCircuitAuthorization
-
1
def self.create_express_route_circuit_authorization_response(network_client)
-
3
authorization = '{
-
"name": "MicrosoftAuthorization",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}",
-
"properties": {
-
"authorizationKey": "authorization-key",
-
"authorizationUseStatus": "Available"
-
}
-
}'
-
-
3
express_route_circuit_authorization_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitAuthorization.mapper
-
3
network_client.deserialize(express_route_circuit_authorization_mapper, JSON.load(authorization), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
# Mock class for Express Route Circuit Peering Model
-
1
class ExpressRouteCircuitPeering
-
1
def self.create_express_route_circuit_peering_response(network_client)
-
3
peering = '{
-
"name": "MicrosoftPeering",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}",
-
"properties": {
-
"peeringType": "MicrosoftPeering",
-
"peerASN": 100,
-
"primaryPeerAddressPrefix": "192.168.1.0/30",
-
"secondaryPeerAddressPrefix": "192.168.2.0/30",
-
"vlanId": 200,
-
"microsoftPeeringConfig": {
-
"advertisedpublicprefixes": [
-
"11.2.3.4/30",
-
"12.2.3.4/30"
-
],
-
"advertisedPublicPrefixState": "NotConfigured ",
-
"customerAsn": 200,
-
"routingRegistryName": "<name>"
-
}
-
}
-
}'
-
3
express_route_circuit_peering_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitPeering.mapper
-
3
network_client.deserialize(express_route_circuit_peering_mapper, JSON.load(peering), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
# Mock class for Express Route Service Provider Model
-
1
class ExpressRouteServiceProvider
-
1
def self.list_express_route_service_provider_response(network_client)
-
1
service_provider = '{
-
"value": [
-
{
-
"name": "providername",
-
"peeringLocations": [
-
"location1",
-
"location2"
-
],
-
"bandwidthsOffered": [
-
{
-
"offerName": "100Mbps",
-
"valueInMbps": 100
-
}
-
]
-
}
-
]}'
-
1
express_route_servcie_provider_mapper = Azure::ARM::Network::Models::ExpressRouteServiceProviderListResult.mapper
-
1
network_client.deserialize(express_route_servcie_provider_mapper, JSON.load(service_provider), 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
1
class LoadBalancer
-
1
def self.create_load_balancer_response(network_client)
-
8
load_balancer = '{
-
"name": "mylb1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1",
-
"location": "North US",
-
"tags": {
-
"key": "value"
-
},
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"resourceGuid": "6ECBD4C1-0DC1-4D86-9F6E-4A58F83C9023",
-
"provisioningState": "Succeeded",
-
"frontendIPConfigurations": [
-
{
-
"name": "myip1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/frontendIPConfigurations/myip1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"subnet": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1"
-
},
-
"privateIPAddress": "10.0.0.10",
-
"privateIPAllocationMethod": "Static",
-
"publicIPAddress": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/myip1"
-
},
-
"loadBalancingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
],
-
"inboundNatRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/inboundNatRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"backendAddressPools": [
-
{
-
"name": "pool1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"backendIPConfigurations": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
}
-
],
-
"loadBalancingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"loadBalancingRules": [
-
{
-
"name": "HTTP Traffic",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/loadBalancingRules/rule1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"backendAddressPool": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/backendAddressPool/pool1"
-
},
-
"protocol": "Tcp",
-
"frontendPort": 80,
-
"backendPort": 8080,
-
"probe": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/probe1"
-
},
-
"enableFloatingIP": true,
-
"idleTimeoutInMinutes": 4,
-
"loadDistribution": "Default"
-
}
-
}
-
],
-
"probes": [
-
{
-
"name": "my probe 1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/my probe 1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"protocol": "Tcp",
-
"port": 8080,
-
"requestPath": "myprobeapp1/myprobe1.svc",
-
"intervalInSeconds": 5,
-
"numberOfProbes": 16,
-
"loadBalancingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"inboundNatRules": [
-
{
-
"name": "RDP Traffic",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/inboundNatRules/RDP Traffic",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"backendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
"protocol": "Tcp",
-
"frontendPort": 3389,
-
"backendPort": 3389
-
}
-
}
-
],
-
"inboundNatPools": [
-
{
-
"name": "RDPForVMSS1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers /Microsoft.Network/loadBalancers/myLB1/inboundNatRules/RDPForVMSS1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Updating|Deleting|Failed|Succeeded",
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"protocol": "Tcp",
-
"frontendPortRangeStart": 50000,
-
"frontendPortRangeEnd": 50500,
-
"backendPort": 3389
-
}
-
}
-
]
-
}
-
}'
-
8
load_balancer_mapper = Azure::ARM::Network::Models::LoadBalancer.mapper
-
8
network_client.deserialize(load_balancer_mapper, JSON.load(load_balancer), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
# Mock class for Local Network Gateway Model
-
1
class LocalNetworkGateway
-
1
def self.create_local_network_gateway_response(network_client)
-
8
local_network_gateway = {
-
'id' => '/subscriptions/<Subscription_id>/resourceGroups/learn_fog/providers/Microsoft.Network/localNetworkGateways/testLocalNetworkGateway',
-
'name' => 'testLocalNetworkGateway',
-
'type' => 'Microsoft.Network/localNetworkGateways',
-
'location' => 'eastus',
-
'properties' =>
-
{
-
'local_network_address_space' => {
-
'address_prefixes' => []
-
},
-
'gateway_ip_address' => '192.168.1.1',
-
'bgp_settings' => {
-
'asn' => 100,
-
'bgp_peering_address' => '192.168.1.2',
-
'peer_weight' => 3
-
}
-
}
-
}
-
8
local_network_gateway_mapper = Azure::ARM::Network::Models::LocalNetworkGateway.mapper
-
8
network_client.deserialize(local_network_gateway_mapper, local_network_gateway, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
1
class NetworkInterface
-
1
def self.create_network_interface_response(network_client)
-
11
nic = '{
-
"name":"fog-test-network-interface",
-
"id":"/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-network-interface",
-
"location":"West US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"5ED47B81-9F1C-4ACE-97A5-7B8CE08C5002",
-
"provisioningState":"Succeeded",
-
"virtualMachine":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/vm1"
-
},
-
"macAddress":"00-00-00-00-00-00",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"ipConfigurations":[
-
{
-
"name":"myip1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1mynic1/ipConfigurations/myip1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"subnet":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysub1"
-
},
-
"privateIPAddress":"10.0.0.8",
-
"privateIPAllocationMethod":"Static",
-
"publicIPAddress":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/mypip1"
-
},
-
"loadBalancerBackendAddressPools":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1"
-
}
-
],
-
"loadBalancerInboundNatRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/rdp for myvm1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/powershell for myvm1"
-
}
-
]
-
}
-
}
-
],
-
"dnsSettings":{
-
"dnsServers":[
-
"10.0.0.4",
-
"10.0.0.5"
-
],
-
"appliedDnsServers": ["1.0.0.1", "2.0.0.2", "3.0.0.3"],
-
"internalDnsNameLabel": "IdnsVm1",
-
"internalFqd": "IdnsVm1.a2ftlxfjn2iezihj3udx1wfn4d.hx.internal.cloudapp.net"
-
}
-
}
-
}'
-
11
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterface.mapper
-
11
network_client.deserialize(network_interface_mapper, JSON.load(nic), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
# Mock class for Network Security Group Model
-
1
class NetworkSecurityGroup
-
1
def self.create_network_security_group_response(network_client)
-
11
nsg = '{
-
"name":"fog-test-nsg",
-
"id":"/subscriptions/#####/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkSecurityGroups/fog-test-nsg",
-
"location":"West US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"AF6A2C41-9F74-46B3-9F65-F5286FFEE3DE",
-
"provisioningState":"Succeeded",
-
"securityRules":[
-
{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":6500,
-
"direction":"Inbound"
-
}
-
}
-
],
-
"defaultSecurityRules":[
-
{
-
"name":"AllowVnetInBound",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/defaultSecurityRules/AllowVnetInBound",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"*",
-
"destinationPortRange":"*",
-
"sourceAddressPrefix":"VirtualNetwork",
-
"destinationAddressPrefix":"VirtualNetwork",
-
"access":"Allow ",
-
"priority":65000,
-
"direction":"Inbound"
-
}
-
}
-
],
-
"networkInterfaces":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1nic1 "
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1nic2"
-
}
-
],
-
"subnets":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1"
-
}
-
]
-
}
-
}'
-
11
result_mapper = Azure::ARM::Network::Models::NetworkSecurityGroup.mapper
-
11
network_client.deserialize(result_mapper, JSON.load(nsg), 'result.body')
-
end
-
-
1
def self.security_rules_array
-
1
sr =
-
[
-
{
-
name: 'testRule2',
-
protocol: 'tcp',
-
source_port_range: '22',
-
destination_port_range: '22',
-
source_address_prefix: '0.0.0.0/0',
-
destination_address_prefix: '0.0.0.0/0',
-
access: 'Allow',
-
priority: '102',
-
direction: 'Inbound'
-
}
-
]
-
1
sr
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
# Mock class for Network Security Rule Model
-
1
class NetworkSecurityRule
-
1
def self.create_network_security_rule_response(network_client)
-
5
nsr = '{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":6500,
-
"direction":"Inbound"
-
}
-
}'
-
5
nsr_mapper = Azure::ARM::Network::Models::SecurityRule.mapper
-
5
network_client.deserialize(nsr_mapper, JSON.load(nsr), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
1
class PublicIp
-
1
def self.create_public_ip_response(network_client)
-
9
public_ip = '{
-
"name": "fog-test-public-ip",
-
"id": "/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/publicIpAddresses/fog-test-public-ip",
-
"location": "West US",
-
"tags": {
-
"key": "value"
-
},
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"resourceGuid":"0CB6BF8A-FFBD-486A-A6A2-DA6633481B50",
-
"provisioningState": "Succeeded",
-
"ipAddress": "1.1.1.1",
-
"publicIPAllocationMethod": "Dynamic",
-
"idleTimeoutInMinutes": 4,
-
"ipConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
"dnsSettings": {
-
"domainNameLabel": "mylabel",
-
"fqdn": "mylabel.northus.cloudapp.azure.com.",
-
"reverseFqdn": "contoso.com."
-
}
-
}
-
}'
-
9
public_ip_mapper = Azure::ARM::Network::Models::PublicIPAddress.mapper
-
9
network_client.deserialize(public_ip_mapper, JSON.load(public_ip), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
1
class Subnet
-
1
def self.create_subnet_response(network_client)
-
11
subnet = '{
-
"name":"fog-test-subnet",
-
"id":"/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/fog-test-subnet",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"addressPrefix":"10.1.0.0/24",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"routeTable": { "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/myRT1" },
-
"ipConfigurations":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/lb1/frontendIpConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/gw1/ipConfigurations/ip1"
-
}
-
]
-
}
-
}'
-
11
subnet_mapper = Azure::ARM::Network::Models::Subnet.mapper
-
11
network_client.deserialize(subnet_mapper, JSON.load(subnet), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
1
class VirtualNetwork
-
1
def self.create_virtual_network_response(network_client)
-
13
vnet = '{
-
"name":"fog-test-virtual-network",
-
"id":"/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/virtualNetworks/fog-test-virtual-network",
-
"location":"West US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"FA0F0F1A-158F-4725-ACCE-C7B6D5CD937F",
-
"provisioningState":"Succeeded",
-
"addressSpace":{
-
"addressPrefixes":[
-
"10.1.0.0/16",
-
"10.2.0.0/16"
-
]
-
},
-
"dhcpOptions":{
-
"dnsServers":[
-
"10.1.0.5",
-
"10.1.0.6"
-
]
-
},
-
"subnets":[
-
{
-
"name":"mysubnet1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"addressPrefix":"10.1.0.0/24",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"ipConfigurations":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/lb1/frontendIpConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/gw1/ipConfigurations/ip1"
-
}
-
]
-
}
-
}
-
]
-
}
-
}'
-
13
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
13
network_client.deserialize(vnet_mapper, JSON.load(vnet), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
1
class VirtualNetworkGateway
-
1
def self.create_virtual_network_gateway_response(network_client)
-
6
network_gateway = '{
-
"name": "myvirtualgateway1",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/fog-rg/providers/microsoft.network/virtualNetworkGateways/{virtual-network-gateway-name}",
-
"location": "West US",
-
"tags": { "key1": "value1" },
-
"properties": {
-
"gatewayType": "DynamicRouting",
-
"gatewaySize": "Default",
-
"enableBgp": true,
-
"vpnClientAddressPool": [ "{vpnClientAddressPoolPrefix}" ],
-
"defaultSites": [ "mysite1" ],
-
"gateway_default_site": "/subscriptions/{subscription-id}/resourceGroups/fog-rg/providers/microsoft.network/localNetworkGateways/{local-network-gateway-name}"
-
}
-
}'
-
6
gateway_mapper = Azure::ARM::Network::Models::VirtualNetworkGateway.mapper
-
6
network_client.deserialize(gateway_mapper, JSON.load(network_gateway), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Network
-
# Mock class for Virtual Network Gateway Connection Models
-
1
class VirtualNetworkGatewayConnection
-
1
def self.create_virtual_network_gateway_connection_response(network_client)
-
5
gateway_connection = '{
-
"name": "cn1",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/connections/connection1",
-
"location": "West US",
-
"tags": { "key1": "value1" },
-
"properties": {
-
"virtualNetworkGateway1": {
-
"name": "firstgateway",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/firstgateway"
-
},
-
"virtualNetworkGateway2": {
-
"name": "secondgateway",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/secondgateway"
-
},
-
"connectionType": "SiteToSite",
-
"connectivityState": "Connected"
-
}
-
}'
-
5
connection_mapper = Azure::ARM::Network::Models::VirtualNetworkGatewayConnection.mapper
-
5
network_client.deserialize(connection_mapper, JSON.load(gateway_connection), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Resources
-
# Mock class for Deployment Model
-
1
class Deployment
-
1
def self.create_deployment_response(client)
-
7
deployment = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/microsoft.resources/deployments/fog-test-deployment',
-
'name' => 'fog-test-deployment',
-
'properties' => {
-
'templateLink' => {
-
'uri' => 'https://test.com/template.json',
-
'contentVersion' => '1.0.0.0'
-
},
-
'parametersLink' => {
-
'uri' => 'https://test.com/parameters.json',
-
'contentVersion' => '1.0.0.0'
-
},
-
'parameters' => {
-
'parameter1' => {
-
'type' => 'string',
-
'value' => 'parameter1'
-
}
-
},
-
'mode' => 'Incremental',
-
'provisioningState' => 'Accepted',
-
'timestamp' => '2015-01-01T18:26:20.6229141Z',
-
'correlationId' => 'd5062e45-6e9f-4fd3-a0a0-6b2c56b15757',
-
'outputs' => {
-
'key1' => {
-
'type' => 'string',
-
'value' => 'output1'
-
}
-
},
-
'providers' => [{
-
'namespace' => 'namespace1',
-
'resourceTypes' => [{
-
'resourceType' => 'resourceType1',
-
'locations' => ['westus']
-
}]
-
}],
-
'dependencies' => [{
-
'dependsOn' => [{
-
'id' => 'resourceid1',
-
'resourceType' => 'namespace1/resourcetype1',
-
'resourceName' => 'resourcename1'
-
}],
-
'id' => 'resourceid2',
-
'resourceType' => 'namespace1/resourcetype2',
-
'resourceName' => 'resourcename2'
-
}]
-
}
-
}
-
7
result_mapper = Azure::ARM::Resources::Models::DeploymentExtended.mapper
-
7
client.deserialize(result_mapper, deployment, 'result.body')
-
end
-
-
1
def self.list_deployments_response(client)
-
3
deployments = {
-
'value' => [
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/microsoft.resources/deployments/fog-test-deployment',
-
'name' => 'fog-test-deployment',
-
'properties' => {
-
'templateLink' => {
-
'uri' => 'https://test.com/template.json',
-
'contentVersion' => '1.0.0.0'
-
},
-
'parametersLink' => {
-
'uri' => 'https://test.com/parameters.json',
-
'contentVersion' => '1.0.0.0'
-
},
-
'parameters' => {
-
'parameter1' => {
-
'type' => 'string',
-
'value' => 'parameter1'
-
}
-
},
-
'mode' => 'Incremental',
-
'provisioningState' => 'Accepted',
-
'timestamp' => '2015-01-01T18:26:20.6229141Z',
-
'correlationId' => 'd5062e45-6e9f-4fd3-a0a0-6b2c56b15757',
-
'outputs' => {
-
'key1' => {
-
'type' => 'string',
-
'value' => 'output1'
-
}
-
},
-
'providers' => [{
-
'namespace' => 'namespace1',
-
'resourceTypes' => [{
-
'resourceType' => 'resourceType1',
-
'locations' => ['westus']
-
}]
-
}],
-
'dependencies' => [{
-
'dependsOn' => [{
-
'id' => 'resourceid1',
-
'resourceType' => 'namespace1/resourcetype1',
-
'resourceName' => 'resourcename1'
-
}],
-
'id' => 'resourceid2',
-
'resourceType' => 'namespace1/resourcetype2',
-
'resourceName' => 'resourcename2'
-
}]
-
}
-
}
-
]
-
}
-
3
result_mapper = Azure::ARM::Resources::Models::DeploymentListResult.mapper
-
3
client.deserialize(result_mapper, deployments, 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Resources
-
# Mock class for Tag Model
-
1
class Resource
-
1
def self.create_response_response
-
body = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}",
-
"name": "your-resource-name",
-
"type": "providernamespace/resourcetype",
-
"location": "westus",
-
"tags": {
-
"tag_name": "tag_value"
-
},
-
"plan": {
-
"name": "free"
-
}
-
}'
-
JSON.load(body)
-
end
-
-
1
def self.list_resources_response(client)
-
3
resources = '{
-
"value": [{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}",
-
"name": "your-resource-name",
-
"type": "providernamespace/resourcetype",
-
"location": "westus",
-
"tags": {
-
"tag_name": "tag_value"
-
},
-
"plan": {
-
"name": "free"
-
}
-
}]
-
}'
-
3
result_mapper = Azure::ARM::Resources::Models::ResourceListResult.mapper
-
3
client.deserialize(result_mapper, JSON.load(resources), 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Resources
-
# Mock class for Resource Group Model
-
1
class ResourceGroup
-
1
def self.create_resource_group_response(client)
-
7
resource_group = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg",
-
"name": "fog-test-rg",
-
"location": "westus",
-
"tags": {
-
"tagname1": "tagvalue1"
-
},
-
"properties": {
-
"provisioning_state": "Succeeded"
-
}
-
}'
-
7
result_mapper = Azure::ARM::Resources::Models::ResourceGroup.mapper
-
7
client.deserialize(result_mapper, JSON.load(resource_group), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Sql
-
# Mock class for Database
-
1
class SqlDatabase
-
# This class contain two mocks, for collection and for model
-
1
def self.create_database
-
{
-
'id' => '/subscriptions/67f2116d-4ea2-4c6c-b20a-f92183dbe3cb/resourceGroups/vm_custom_image/providers/Microsoft.Sql/servers/test-sql-server-confiz123/databases/confiztestdatab98',
-
'location' => '{database-location}',
-
'properties' => {
-
'createMode' => '{creation-mode}',
-
'sourceDatabaseId' => '{source-database-id}',
-
'edition' => '{database-edition}',
-
'collation' => '{collation-name}',
-
'maxSizeBytes' => '{max-database-size}',
-
'requestedServiceObjectiveId' => '{requested-service-id}',
-
'requestedServiceObjectiveName' => '{requested-service-id}',
-
'restorePointInTime' => '{restore-time}',
-
'sourceDatabaseDeletionDate' => '{source-deletion-date}',
-
'elasticPoolName' => '{elastic-pool-name}'
-
}
-
6
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Sql
-
# Mock class for Firewall Rule
-
1
class SqlFirewallRule
-
# This class contain mock
-
1
def self.create_firewall_rule
-
{
-
'id' => '{uri-of-firewall-rule}',
-
'name' => '{rule-name}',
-
'type' => '{rule-type}',
-
'location' => '{server-location}',
-
'properties' => {
-
'startIpAddress' => '{start-ip-address}',
-
'endIpAddress' => '{end-ip-address}'
-
}
-
5
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Sql
-
# Mock class for Sql Server
-
1
class SqlServer
-
# This class contain two mocks, for collection and for model
-
1
def self.create_sql_server
-
{
-
'id' => '/subscriptions/67f2116d-4ea2-4c6c-b20a-f92183dbe3cb/resourceGroups/vm_custom_image/providers/Microsoft.Sql/servers/test-sql-server-confiz123',
-
'name' => 'server-name',
-
'location' => '{server-location}',
-
'properties' => {
-
'version' => '{server-version}',
-
'administratorLogin' => '{admin-name}',
-
'administratorLoginPassword' => '{admin-password}'
-
}
-
6
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Storage
-
# Mock class for Data Disk Model
-
1
class Directory
-
1
def self.test_get_container_metadata
-
{
-
'container-name' => 'Test-container',
-
'created-by' => 'User',
-
'source-machine' => 'Test-machine',
-
'category' => 'guidance',
-
'doctype' => 'textDocuments'
-
11
}
-
end
-
-
1
def self.create_container
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'public_access_level' => nil,
-
'metadata' => {}
-
14
}
-
end
-
-
1
def self.list_containers
-
[
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
11
},
-
{
-
'name' => 'testcontainer2',
-
'properties' =>
-
{
-
'last_modified' => 'Tue, 04 Aug 2015 06:01:08 GMT',
-
'etag' => '0x8D29C92176C8352',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
},
-
{
-
'name' => 'testcontainer3',
-
'properties' =>
-
{
-
'last_modified' => 'Tue, 01 Sep 2015 05:15:36 GMT',
-
'etag' => '0x8D2B28C5EB36458',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
}
-
]
-
end
-
-
1
def self.get_container_properties
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
14
}
-
end
-
-
1
def self.get_container_access_control_list
-
[{
-
'name' => 'testcontainer1',
-
'public_access_level' => 'blob'
-
25
}, {}]
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Storage
-
# Mock class for Data Disk Model
-
1
class File
-
1
def self.test_get_blob_metadata
-
{
-
'name' => 'storage-test-blob',
-
'snapshot' => nil,
-
'metadata' => {
-
'container-name' => 'storage-test-container',
-
'blob-name' => 'storage-test-blob',
-
'category' => 'Images',
-
'resolution' => 'High'
-
},
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 09:30:31 GMT',
-
'etag' => '0x8D3A3EDD7C2B777',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '095adc3b-e277-4c3d-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/4m?snapshot=2016-02-04T08%3A35%3A50.3157696Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:35:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
26
}
-
end
-
-
1
def self.get_blob_properties
-
{
-
'name' => 'testblob1',
-
'snapshot' => nil,
-
'metadata' => {},
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 09:30:31 GMT',
-
'etag' => '0x8D3A3EDD7C2B777',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '095adc3b-e277-4c3d-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/4m?snapshot=2016-02-04T08%3A35%3A50.3157696Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:35:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
26
}
-
end
-
-
1
def self.upload_block_blob_from_file
-
{
-
'name' => 'testblob1',
-
'properties' =>
-
{
-
'last_modified' => 'Thu, 28 Jul 2016 06:53:05 GMT',
-
'etag' => '0x8D3B6B3D353FFCA',
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw=='
-
}
-
26
}
-
end
-
-
1
def self.download_blob_to_file
-
{
-
'name' => 'testblob1',
-
'metadata' => {},
-
'properties' =>
-
{
-
'last_modified' => 'Thu, 28 Jul 2016 06:53:05 GMT',
-
'etag' => '0x8D3B6B3D353FFCA',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/atom+xml; charset=utf-8',
-
'content_encoding' => 'ASCII-8BIT',
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'blob_type' => 'BlockBlob',
-
'copy_id' => nil,
-
'copy_status' => nil,
-
'copy_source' => nil,
-
'copy_progress' => nil,
-
'copy_completion_time' => nil,
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
26
}
-
end
-
-
1
def self.list_blobs
-
[
-
{
-
'name' => 'testblob1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '095adc3b-e277-4c3d-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/testblob1?snapshot=2016-02-04T08%3A35%3A50.3256874Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:35:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
},
-
'metadata' => {}
-
6
},
-
{
-
'name' => 'testblob2',
-
'properties' =>
-
{
-
'last_modified' => 'Tue, 04 Aug 2015 06:02:08 GMT',
-
'etag' => '0x8D29C92173526C8',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '0abcdc3b-4c3d-e277-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/testblob2?snapshot=2016-02-04T08%3A35%3A55.3157696Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:40:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
},
-
'metadata' => {}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Storage
-
# Mock class for Recovery Vault model
-
1
class RecoveryVault
-
1
def self.create_method_response
-
{
-
'id' => '/subscriptions/#{67f2116d}#######-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault',
-
'location' => 'westus',
-
'name' => 'fog-test-vault',
-
'properties' => {
-
'provisioningState' => 'Succeeded'
-
},
-
'type' => 'Microsoft.RecoveryServices/vaults',
-
'sku' => {
-
'name' => 'standard'
-
}
-
3
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module Storage
-
# Mock class for Storage Account
-
1
class StorageAccount
-
1
def self.create_storage_account(storage_mgmt_client)
-
15
storage_account_hash = {
-
'id' => '/subscriptions/67f2116d-4ea2-4c6c-b20a-f92183dbe3cb/resourceGroups/fog_test_rg/providers/Microsoft.Storage/storageAccounts/fogtestsasecond',
-
'name' => 'fog-test-storage-account',
-
'location' => 'west us',
-
'sku' =>
-
{
-
'name' => 'Standard_LRS'
-
}
-
}
-
15
storage_account_mapper = Azure::ARM::Storage::Models::StorageAccount.mapper
-
15
storage_mgmt_client.deserialize(storage_account_mapper, storage_account_hash, 'hash')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module TrafficManager
-
# Mock class for Traffic Manager End Point Model
-
1
class TrafficManagerEndPoint
-
1
def self.create_traffic_manager_end_point_response(traffic_manager_client)
-
5
endpoint = '{
-
"id": "/subscriptions/######/resourceGroups/fog-test-rg/providers/Microsoft.Network/trafficManagerProfiles/fog-test-profile/azureEndpoints/fog-test-end-point?api-version=2015-11-01",
-
"name": "fog-test-end-point",
-
"type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"targetResourceId": "/subscriptions/######/resourceGroups/fog-test-rg/providers/Microsoft.Network/",
-
"target": "myapp.azurewebsites.net",
-
"weight": 10,
-
"priority": 3,
-
"endpointLocation": "centralus"
-
}
-
}'
-
5
endpoint_mapper = Azure::ARM::TrafficManager::Models::Endpoint.mapper
-
5
traffic_manager_client.deserialize(endpoint_mapper, JSON.load(endpoint), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Models
-
1
module TrafficManager
-
# Mock class for Traffic Manager Profile Model
-
1
class TrafficManagerProfile
-
1
def self.traffic_manager_profile_response(traffic_manager_client)
-
17
profile = '{
-
"location": "global",
-
"tags": {},
-
"id": "/subscriptions/####/resourceGroups/fog-test-rg/Microsoft.Network/trafficManagerProfiles/fog-test-profile",
-
"name": "fog-test-profile",
-
"type": "Microsoft.Network/trafficManagerProfiles",
-
"properties": {
-
"profileStatus": "Enabled",
-
"trafficRoutingMethod": "Performance",
-
"dnsConfig": {
-
"relativeName": "myapp",
-
"fqdn": "myapp.trafficmanager.net",
-
"ttl": 30
-
},
-
"monitorConfig": {
-
"profileMonitorStatus": "Online",
-
"protocol": "http",
-
"port": 80,
-
"path": "/monitorpage.aspx"
-
},
-
-
"endpoints": [{
-
"id": "/subscriptions/####/resourceGroups/fog-test-rg/Microsoft.Network/trafficManagerProfiles/fog-test-profile/azureEndpoints/endpoint-name1",
-
"name": "endpoint-name1",
-
"type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"targetResourceId": "{resource ID of target resource in Azure}",
-
"target": "myapp.azurewebsites.net",
-
"weight": 10,
-
"priority": 3,
-
"endpointLocation": "centralus"
-
}
-
}, {
-
"id": "/subscriptions/####/resourceGroups/fog-test-rg/Microsoft.Network/trafficManagerProfiles/fog-test-profile/externalEndpoints/endpoint-name2",
-
"name": "endpoint-name2",
-
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"target": "myendpoint.contoso.com",
-
"weight": 10,
-
"priority": 5,
-
"endpointLocation": "northeurope"
-
}
-
}, {
-
"id": "/subscriptions/####/resourceGroups/fog-test-rg/Microsoft.Network/trafficManagerProfiles/fog-test-profile/nestedEndpoints/endpoint-name3",
-
"name": "endpoint-name3",
-
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"targetResourceId": "####",
-
"weight": 10,
-
"priority": 1,
-
"endpointLocation": "westeurope",
-
"minChildEndpoints": 1
-
}
-
}]
-
}
-
}'
-
17
profile_mapper = Azure::ARM::TrafficManager::Models::Profile.mapper
-
17
traffic_manager_client.deserialize(profile_mapper, JSON.load(profile), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module ApplicationGateway
-
# Mock class for Application Gateway Requests
-
1
class Gateway
-
1
def self.create_application_gateway_response(gateway_client)
-
4
response = '{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway",
-
"name": "gateway",
-
"type": "Microsoft.Network/applicationGateways",
-
"location": "eastus",
-
"properties": {
-
"sku": {
-
"name": "Standard_Medium",
-
"tier": "Standard",
-
"capacity": 2
-
},
-
"gatewayIPConfigurations": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/gatewayIPConfigurations/ag-GatewayIP",
-
"properties": {
-
"subnet": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "ag-GatewayIP"
-
}
-
],
-
"sslCertificates": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate",
-
"properties": {
-
"publicCertData": "MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=",
-
"provisioningState": "Succeeded"
-
},
-
"name": "ssl_certificate"
-
}
-
],
-
"frontendIPConfigurations": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config",
-
"properties": {
-
"privateIPAllocationMethod": "Dynamic",
-
"publicIPAddress": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/ag_publicip-672835"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "frontend_ip_config"
-
}
-
],
-
"frontendPorts": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port",
-
"properties": {
-
"port": 443,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_front_port"
-
}
-
],
-
"probes": [],
-
"backendAddressPools": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool",
-
"properties": {
-
"backendAddresses": [
-
{
-
"ipAddress": "10.0.0.4"
-
},
-
{
-
"ipAddress": "10.0.0.5"
-
}
-
],
-
"provisioningState": "Succeeded"
-
},
-
"name": "AG-BackEndAddressPool"
-
}
-
],
-
"backendHttpSettingsCollection": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings",
-
"properties": {
-
"port": 80,
-
"protocol": "Http",
-
"cookieBasedAffinity": "Enabled",
-
"requestTimeout": 30,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_settings"
-
}
-
],
-
"httpListeners": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener",
-
"properties": {
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config"
-
},
-
"frontendPort": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port"
-
},
-
"protocol": "Https",
-
"sslCertificate": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate"
-
},
-
"requireServerNameIndication": false,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_listener"
-
}
-
],
-
"urlPathMaps": [],
-
"requestRoutingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/requestRoutingRules/gateway_request_route_rule",
-
"properties": {
-
"ruleType": "Basic",
-
"backendAddressPool": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool"
-
},
-
"backendHttpSettings": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings"
-
},
-
"httpListener": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_request_route_rule"
-
}
-
],
-
"resourceGuid": "b3db5ebf-10f8-4666-9596-d1459530f64b",
-
"provisioningState": "Succeeded"
-
}
-
}'
-
4
gateway_mapper = Azure::ARM::Network::Models::ApplicationGateway.mapper
-
4
gateway_client.deserialize(gateway_mapper, JSON.load(response), 'result.body')
-
end
-
-
1
def self.gateway_params
-
3
gateway_ip_configurations = ApiStub::Requests::ApplicationGateway::Gateway.gateway_ip_configurations
-
3
frontend_ip_configurations = ApiStub::Requests::ApplicationGateway::Gateway.frontend_ip_configurations
-
3
frontend_ports = ApiStub::Requests::ApplicationGateway::Gateway.frontend_ports
-
3
backend_address_pools = ApiStub::Requests::ApplicationGateway::Gateway.backend_address_pools
-
3
backend_http_settings_list = ApiStub::Requests::ApplicationGateway::Gateway.backend_http_settings_list
-
3
http_listeners = ApiStub::Requests::ApplicationGateway::Gateway.http_listeners
-
3
request_routing_rules = ApiStub::Requests::ApplicationGateway::Gateway.request_routing_rules
-
3
params = {
-
name: 'gateway',
-
location: 'East US',
-
resource_group: 'fogRM-rg',
-
sku_name: 'Standard_Medium',
-
sku_tier: 'Standard',
-
sku_capacity: 2,
-
gateway_ip_configurations: gateway_ip_configurations,
-
ssl_certificates: ssl_certificates,
-
frontend_ip_configurations: frontend_ip_configurations,
-
frontend_ports: frontend_ports,
-
probes: probes,
-
backend_address_pools: backend_address_pools,
-
backend_http_settings_list: backend_http_settings_list,
-
http_listeners: http_listeners,
-
url_path_maps: url_path_maps,
-
request_routing_rules: request_routing_rules
-
}
-
3
params
-
end
-
-
1
def self.list_application_gateway_response(gateway_client)
-
1
response = '{
-
"value": [{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway",
-
"name": "gateway",
-
"type": "Microsoft.Network/applicationGateways",
-
"location": "eastus",
-
"properties": {
-
"sku": {
-
"name": "Standard_Medium",
-
"tier": "Standard",
-
"capacity": 2
-
},
-
"gatewayIPConfigurations": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/gatewayIPConfigurations/ag-GatewayIP",
-
"properties": {
-
"subnet": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "ag-GatewayIP"
-
}
-
],
-
"sslCertificates": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate",
-
"properties": {
-
"publicCertData": "MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=",
-
"provisioningState": "Succeeded"
-
},
-
"name": "ssl_certificate"
-
}
-
],
-
"frontendIPConfigurations": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config",
-
"properties": {
-
"privateIPAllocationMethod": "Dynamic",
-
"publicIPAddress": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/ag_publicip-672835"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "frontend_ip_config"
-
}
-
],
-
"frontendPorts": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port",
-
"properties": {
-
"port": 443,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_front_port"
-
}
-
],
-
"probes": [],
-
"backendAddressPools": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool",
-
"properties": {
-
"backendAddresses": [
-
{
-
"ipAddress": "10.0.0.4"
-
},
-
{
-
"ipAddress": "10.0.0.5"
-
}
-
],
-
"provisioningState": "Succeeded"
-
},
-
"name": "AG-BackEndAddressPool"
-
}
-
],
-
"backendHttpSettingsCollection": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings",
-
"properties": {
-
"port": 80,
-
"protocol": "Http",
-
"cookieBasedAffinity": "Enabled",
-
"requestTimeout": 30,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_settings"
-
}
-
],
-
"httpListeners": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener",
-
"properties": {
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config"
-
},
-
"frontendPort": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port"
-
},
-
"protocol": "Https",
-
"sslCertificate": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate"
-
},
-
"requireServerNameIndication": false,
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_listener"
-
}
-
],
-
"urlPathMaps": [],
-
"requestRoutingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/requestRoutingRules/gateway_request_route_rule",
-
"properties": {
-
"ruleType": "Basic",
-
"backendAddressPool": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool"
-
},
-
"backendHttpSettings": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings"
-
},
-
"httpListener": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener"
-
},
-
"provisioningState": "Succeeded"
-
},
-
"name": "gateway_request_route_rule"
-
}
-
],
-
"resourceGuid": "b3db5ebf-10f8-4666-9596-d1459530f64b",
-
"provisioningState": "Succeeded"
-
}
-
}]
-
}'
-
1
gateway_list_mapper = Azure::ARM::Network::Models::ApplicationGatewayListResult.mapper
-
1
gateway_client.deserialize(gateway_list_mapper, JSON.load(response), 'result.body')
-
end
-
-
1
def self.delete_application_gateway_response
-
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
-
1
def self.gateway_ip_configurations
-
3
gateway_ip_config =
-
[
-
{
-
name: 'gatewayIpConfigName',
-
subnet_id: '/subscriptions/{guid}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnetName'
-
}
-
]
-
3
gateway_ip_config
-
end
-
-
1
def self.ssl_certificates
-
3
certificates =
-
[
-
{
-
name: 'certificate',
-
data: 'data',
-
password: '123',
-
public_cert_data: 'MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw='
-
}
-
]
-
3
certificates
-
end
-
-
1
def self.frontend_ip_configurations
-
3
frontend_ip_config =
-
[
-
{
-
name: 'frontendIpConfig',
-
private_ip_allocation_method: 'Dynamic',
-
public_ip_address_id: '/subscriptions/{guid}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/publicIp',
-
private_ip_address: '10.0.1.5'
-
}
-
]
-
3
frontend_ip_config
-
end
-
-
1
def self.frontend_ports
-
3
ports =
-
[
-
{
-
name: 'frontendPort',
-
port: 443
-
}
-
]
-
3
ports
-
end
-
-
1
def self.probes
-
3
probes =
-
[
-
{
-
name: 'probe1',
-
protocol: 'tcp',
-
host: 'localhost',
-
path: '/usr/',
-
interval: 30,
-
timeout: 20,
-
unhealthy_threshold: 20
-
}
-
]
-
3
probes
-
end
-
-
1
def self.backend_address_pools
-
3
address_pool =
-
[
-
{
-
name: 'backendAddressPool',
-
ip_addresses: [
-
{
-
ipAddress: '10.0.1.6'
-
}
-
]
-
}
-
]
-
3
address_pool
-
end
-
-
1
def self.backend_http_settings_list
-
3
http_setting =
-
[
-
{
-
name: 'gateway_settings',
-
port: 80,
-
protocol: 'Http',
-
cookie_based_affinity: 'Enabled',
-
request_timeout: '30',
-
probe: ''
-
}
-
]
-
3
http_setting
-
end
-
-
1
def self.http_listeners
-
3
listener =
-
[
-
{
-
name: 'gateway_listener',
-
frontend_ip_config_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config',
-
frontend_port_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port',
-
protocol: 'Https',
-
host_name: '',
-
ssl_certificate_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate',
-
require_server_name_indication: 'false'
-
}
-
]
-
3
listener
-
end
-
-
1
def self.url_path_maps
-
3
path_map =
-
[
-
{
-
name: 'map1',
-
default_backend_address_pool_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool',
-
default_backend_http_settings_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings',
-
path_rules: [
-
{
-
backend_address_pool_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool',
-
backend_http_settings_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings',
-
paths: [
-
%w(/usr /etc)
-
]
-
}
-
]
-
}
-
]
-
3
path_map
-
end
-
-
1
def self.request_routing_rules
-
3
routing_rule =
-
[
-
{
-
name: 'gateway_request_route_rule',
-
type: 'Basic',
-
http_listener_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener',
-
backend_address_pool_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool',
-
backend_http_settings_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings',
-
url_path_map: ''
-
}
-
]
-
3
routing_rule
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Compute
-
# Mock class for Availability Set Requests
-
1
class AvailabilitySet
-
1
def self.create_availability_set_response(compute_client)
-
1
body = '{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myrg1/providers/Microsoft.Compute/availabilitySets/avset1",
-
"name":"myavset1",
-
"type":"Microsoft.Compute/availabilitySets",
-
"location":"westus",
-
"tags": {},
-
"platformUpdateDomainCount": 5,
-
"platformFaultDomainCount":3,
-
"virtualMachines":[]
-
}'
-
1
availability_set_mapper = Azure::ARM::Compute::Models::AvailabilitySet.mapper
-
1
compute_client.deserialize(availability_set_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_availability_set_response(sdk_compute_client)
-
1
body = '{
-
"value": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myrg1/providers/Microsoft.Compute/availabilitySets/avset1",
-
"name":"myavset1",
-
"type":"Microsoft.Compute/availabilitySets",
-
"location":"westus",
-
"tags": {},
-
"platformUpdateDomainCount":5,
-
"platformFaultDomainCount":3,
-
"virtualMachines":[]
-
} ]
-
}'
-
1
availability_set_mapper = Azure::ARM::Compute::Models::AvailabilitySetListResult.mapper
-
1
sdk_compute_client.deserialize(availability_set_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.get_availability_set_response(sdk_compute_client)
-
1
body = '{
-
"value": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myrg1/providers/Microsoft.Compute/availabilitySets/avset1",
-
"name":"myavset1",
-
"type":"Microsoft.Compute/availabilitySets",
-
"location":"westus",
-
"tags": {},
-
"platformUpdateDomainCount":5,
-
"platformFaultDomainCount":3,
-
"virtualMachines":[]
-
} ]
-
}'
-
1
availability_set_mapper = Azure::ARM::Compute::Models::AvailabilitySet.mapper
-
1
sdk_compute_client.deserialize(availability_set_mapper, JSON.load(body), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Compute
-
# Mock class for Virtual Machine Requests
-
1
class VirtualMachine
-
1
def self.linux_virtual_machine_params
-
{
-
resource_group: 'fog-test-rg',
-
name: 'fog-test-server',
-
location: 'westus',
-
vm_size: 'Basic_A0',
-
storage_account_name: 'fogstrg',
-
username: 'fog',
-
password: 'fog',
-
disable_password_authentication: false,
-
ssh_key_path: '/home',
-
ssh_key_data: 'key',
-
network_interface_card_id: 'nic-id',
-
availability_set_id: 'as-id',
-
publisher: 'Canonical',
-
offer: 'UbuntuServer',
-
sku: '14.04.2-LTS',
-
version: 'latest',
-
platform: 'Linux',
-
provision_vm_agent: nil,
-
enable_automatic_updates: nil
-
7
}
-
end
-
-
1
def self.windows_virtual_machine_params
-
{
-
resource_group: 'fog-test-rg',
-
name: 'fog-test-server',
-
location: 'westus',
-
vm_size: 'Basic_A0',
-
storage_account_name: 'fogstrg',
-
username: 'fog',
-
password: 'fog',
-
disable_password_authentication: nil,
-
ssh_key_path: '/home',
-
ssh_key_data: 'key',
-
network_interface_card_id: 'nic-id',
-
availability_set_id: 'as-id',
-
publisher: 'MicrosoftWindowsServerEssentials',
-
offer: 'WindowsServerEssentials',
-
sku: 'WindowsServerEssentials',
-
version: 'latest',
-
platform: 'Windows',
-
provision_vm_agent: true,
-
enable_automatic_updates: true
-
7
}
-
end
-
-
1
def self.linux_virtual_machine_with_custom_data_params
-
{
-
resource_group: 'fog-test-rg',
-
name: 'fog-test-server',
-
location: 'westus',
-
vm_size: 'Basic_A0',
-
storage_account_name: 'fogstrg',
-
username: 'fog',
-
password: 'fog',
-
disable_password_authentication: false,
-
ssh_key_path: '/home',
-
ssh_key_data: 'key',
-
network_interface_card_id: 'nic-id',
-
availability_set_id: 'as-id',
-
publisher: 'Canonical',
-
offer: 'UbuntuServer',
-
sku: '14.04.2-LTS',
-
version: 'latest',
-
platform: 'Linux',
-
provision_vm_agent: nil,
-
enable_automatic_updates: nil,
-
custom_data: 'echo customData'
-
1
}
-
end
-
-
1
def self.windows_virtual_machine_with_custom_data_params
-
{
-
resource_group: 'fog-test-rg',
-
name: 'fog-test-server',
-
location: 'westus',
-
vm_size: 'Basic_A0',
-
storage_account_name: 'fogstrg',
-
username: 'fog',
-
password: 'fog',
-
disable_password_authentication: nil,
-
ssh_key_path: '/home',
-
ssh_key_data: 'key',
-
network_interface_card_id: 'nic-id',
-
availability_set_id: 'as-id',
-
publisher: 'MicrosoftWindowsServerEssentials',
-
offer: 'WindowsServerEssentials',
-
sku: 'WindowsServerEssentials',
-
version: 'latest',
-
platform: 'Windows',
-
provision_vm_agent: true,
-
enable_automatic_updates: true,
-
custom_data: 'echo customData'
-
1
}
-
end
-
-
1
def self.linux_virtual_machine_with_custom_image_params
-
{
-
resource_group: 'fog-test-rg',
-
name: 'fog-test-server',
-
location: 'westus',
-
vm_size: 'Basic_A0',
-
storage_account_name: 'fogstrg',
-
username: 'fog',
-
password: 'fog',
-
disable_password_authentication: false,
-
ssh_key_path: '/home',
-
ssh_key_data: 'key',
-
network_interface_card_id: 'nic-id',
-
availability_set_id: 'as-id',
-
platform: 'Linux',
-
provision_vm_agent: nil,
-
enable_automatic_updates: nil,
-
vhd_path: 'https://fogstrg.blob.core.windows.net/customvhd/ubuntu-image.vhd'
-
1
}
-
end
-
-
1
def self.windows_virtual_machine_with_custom_image_params
-
{
-
resource_group: 'fog-test-rg',
-
name: 'fog-test-server',
-
location: 'westus',
-
vm_size: 'Basic_A0',
-
storage_account_name: 'fogstrg',
-
username: 'fog',
-
password: 'fog',
-
disable_password_authentication: nil,
-
ssh_key_path: '/home',
-
ssh_key_data: 'key',
-
network_interface_card_id: 'nic-id',
-
availability_set_id: 'as-id',
-
platform: 'Windows',
-
provision_vm_agent: true,
-
enable_automatic_updates: true,
-
vhd_path: 'https://fogstrg.blob.core.windows.net/customvhd/windows-image.vhd'
-
1
}
-
end
-
-
1
def self.create_virtual_machine_response(compute_client)
-
16
body = '{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server",
-
"name":"fog-test-server",
-
"type":"Microsoft.Compute/virtualMachines",
-
"location":"westus",
-
"tags": {
-
"department":"finance"
-
},
-
"properties": {
-
"availabilitySet": {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1"
-
},
-
"hardwareProfile": {
-
"vmSize":"Standard_A0"
-
},
-
"storageProfile": {
-
"imageReference": {
-
"publisher":"MicrosoftWindowsServerEssentials",
-
"offer":"WindowsServerEssentials",
-
"sku":"WindowsServerEssentials",
-
"version":"latest"
-
},
-
"osDisk": {
-
"name":"myosdisk1",
-
"vhd": {
-
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
-
},
-
"caching":"ReadWrite",
-
"createOption":"FromImage"
-
},
-
"dataDisks": [ {
-
"name":"mydatadisk1",
-
"diskSizeGB":"1",
-
"lun": 0,
-
"vhd": {
-
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
-
},
-
"createOption":"Empty"
-
} ]
-
},
-
"osProfile": {
-
"computerName":"fog-test-server",
-
"adminUsername":"fog",
-
"adminPassword":"fog",
-
"customData":"",
-
"windowsConfiguration": {
-
"provisionVMAgent":true,
-
"winRM": {
-
"listeners": [ {
-
"protocol": "https",
-
"certificateUrl": "url-to-certificate"
-
} ]
-
},
-
"enableAutomaticUpdates":true
-
},
-
"secrets":[ {
-
"sourceVault": {
-
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1"
-
},
-
"vaultCertificates": [ {
-
"certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}",
-
"certificateStore": "{certificateStoreName}"
-
} ]
-
} ]
-
},
-
"networkProfile": {
-
"networkInterfaces": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1"
-
} ]
-
}
-
}
-
}'
-
16
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
16
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.create_virtual_machine_with_custom_data_response(compute_client)
-
7
body = '{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server",
-
"name":"fog-test-server",
-
"type":"Microsoft.Compute/virtualMachines",
-
"location":"westus",
-
"tags": {
-
"department":"finance"
-
},
-
"properties": {
-
"availabilitySet": {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1"
-
},
-
"hardwareProfile": {
-
"vmSize":"Standard_A0"
-
},
-
"storageProfile": {
-
"imageReference": {
-
"publisher":"MicrosoftWindowsServerEssentials",
-
"offer":"WindowsServerEssentials",
-
"sku":"WindowsServerEssentials",
-
"version":"latest"
-
},
-
"osDisk": {
-
"name":"myosdisk1",
-
"vhd": {
-
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
-
},
-
"caching":"ReadWrite",
-
"createOption":"FromImage"
-
},
-
"dataDisks": [ {
-
"name":"mydatadisk1",
-
"diskSizeGB":"1",
-
"lun": 0,
-
"vhd": {
-
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
-
},
-
"createOption":"Empty"
-
} ]
-
},
-
"osProfile": {
-
"computerName":"fog-test-server",
-
"adminUsername":"fog",
-
"adminPassword":"fog",
-
"customData":"ZWNobyBjdXN0b21EYXRh",
-
"windowsConfiguration": {
-
"provisionVMAgent":true,
-
"winRM": {
-
"listeners": [ {
-
"protocol": "https",
-
"certificateUrl": "url-to-certificate"
-
} ]
-
},
-
"enableAutomaticUpdates":true
-
},
-
"secrets":[ {
-
"sourceVault": {
-
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1"
-
},
-
"vaultCertificates": [ {
-
"certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}",
-
"certificateStore": "{certificateStoreName}"
-
} ]
-
} ]
-
},
-
"networkProfile": {
-
"networkInterfaces": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1"
-
} ]
-
}
-
}
-
}'
-
7
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
7
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.create_virtual_machine_from_custom_image_response(compute_client)
-
body = '{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server",
-
"name":"fog-test-server",
-
"type":"Microsoft.Compute/virtualMachines",
-
"location":"westus",
-
"tags": {
-
"department":"finance"
-
},
-
"properties": {
-
"availabilitySet": {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1"
-
},
-
"hardwareProfile": {
-
"vmSize":"Standard_A0"
-
},
-
"storageProfile": {
-
"imageReference": {
-
"publisher":"",
-
"offer":"",
-
"sku":"",
-
"version":""
-
},
-
"osDisk": {
-
"name":"myosdisk1",
-
"vhd": {
-
"uri":"https://custimagestorage.blob.core.windows.net/customimage/trusty-server-cloudimg-amd64-disk1.vhd"
-
},
-
"caching":"ReadWrite",
-
"createOption":"FromImage"
-
},
-
"dataDisks": [ {
-
"name":"mydatadisk1",
-
"diskSizeGB":"1",
-
"lun": 0,
-
"vhd": {
-
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
-
},
-
"createOption":"Empty"
-
} ]
-
},
-
"osProfile": {
-
"computerName":"fog-test-server",
-
"adminUsername":"fog",
-
"adminPassword":"fog",
-
"customData":"",
-
"windowsConfiguration": {
-
"provisionVMAgent":true,
-
"winRM": {
-
"listeners": [ {
-
"protocol": "https",
-
"certificateUrl": "url-to-certificate"
-
} ]
-
},
-
"enableAutomaticUpdates":true
-
},
-
"secrets":[ {
-
"sourceVault": {
-
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1"
-
},
-
"vaultCertificates": [ {
-
"certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}",
-
"certificateStore": "{certificateStoreName}"
-
} ]
-
} ]
-
},
-
"networkProfile": {
-
"networkInterfaces": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1"
-
} ]
-
}
-
}
-
}'
-
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.detach_data_disk_from_vm_response(compute_client)
-
1
body = '{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server",
-
"name":"fog-test-server",
-
"type":"Microsoft.Compute/virtualMachines",
-
"location":"westus",
-
"tags": {
-
"department":"finance"
-
},
-
"properties": {
-
"availabilitySet": {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1"
-
},
-
"hardwareProfile": {
-
"vmSize":"Standard_A0"
-
},
-
"storageProfile": {
-
"imageReference": {
-
"publisher":"MicrosoftWindowsServerEssentials",
-
"offer":"WindowsServerEssentials",
-
"sku":"WindowsServerEssentials",
-
"version":"latest"
-
},
-
"osDisk": {
-
"name":"myosdisk1",
-
"vhd": {
-
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
-
},
-
"caching":"ReadWrite",
-
"createOption":"FromImage"
-
},
-
"dataDisks": []
-
},
-
"osProfile": {
-
"computerName":"fog-test-server",
-
"adminUsername":"fog",
-
"adminPassword":"fog",
-
"customData":"",
-
"windowsConfiguration": {
-
"provisionVMAgent":true,
-
"winRM": {
-
"listeners": [ {
-
"protocol": "https",
-
"certificateUrl": "url-to-certificate"
-
} ]
-
},
-
"enableAutomaticUpdates":true
-
},
-
"secrets":[ {
-
"sourceVault": {
-
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1"
-
},
-
"vaultCertificates": [ {
-
"certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}",
-
"certificateStore": "{certificateStoreName}"
-
} ]
-
} ]
-
},
-
"networkProfile": {
-
"networkInterfaces": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1"
-
} ]
-
}
-
}
-
}'
-
1
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
1
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.virtual_machine_response(compute_client)
-
7
body = {
-
'location' => 'westus',
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server',
-
'name' => 'fog-test-server',
-
'type' => 'Microsoft.Compute/virtualMachines',
-
'tags' =>
-
{
-
'department' => 'finance'
-
},
-
'properties' =>
-
{
-
'hardwareProfile' =>
-
{
-
'vmSize' => 'Standard_A0'
-
},
-
'storageProfile' =>
-
{
-
'imageReference' =>
-
{
-
'publisher' => 'MicrosoftWindowsServerEssentials',
-
'offer' => 'WindowsServerEssentials',
-
'sku' => 'WindowsServerEssentials',
-
'version' => 'latest'
-
},
-
'osDisk' =>
-
{
-
'name' => 'myosdisk1',
-
'vhd' =>
-
{
-
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd'
-
},
-
'createOption' => 'FromImage',
-
'caching' => 'ReadWrite'
-
},
-
'dataDisks' =>
-
[
-
{
-
'lun' => 0,
-
'name' => 'mydatadisk1',
-
'vhd' =>
-
{
-
'uri' => 'http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd'
-
},
-
'createOption' => 'Empty',
-
'diskSizeGB' => 1
-
}
-
]
-
},
-
'osProfile' =>
-
{
-
'computerName' => 'fog-test-server',
-
'adminUsername' => 'fog',
-
'adminPassword' => 'fog',
-
'customData' => '',
-
'windowsConfiguration' =>
-
{
-
'provisionVMAgent' => true,
-
'enableAutomaticUpdates' => true,
-
'winRM' =>
-
{
-
'listeners' =>
-
[
-
{
-
'protocol' => 'https',
-
'certificateUrl' => 'url-to-certificate'
-
}
-
]
-
}
-
},
-
'secrets' =>
-
[
-
{
-
'sourceVault' =>
-
{
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1'
-
},
-
'vaultCertificates' =>
-
[
-
{
-
'certificateUrl' => 'https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}',
-
'certificateStore' => '{certificateStoreName}'
-
}
-
]
-
}
-
]
-
},
-
'networkProfile' =>
-
{
-
'networkInterfaces' =>
-
[
-
{
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1'
-
}
-
]
-
},
-
'availabilitySet' =>
-
{
-
'id' => '/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1'
-
}
-
}
-
}
-
7
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
7
compute_client.deserialize(vm_mapper, body, 'result.body')
-
end
-
-
1
def self.list_virtual_machines_response(compute_client)
-
1
body = '{
-
"value": [
-
{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server",
-
"name":"fog-test-server",
-
"type":"Microsoft.Compute/virtualMachines",
-
"location":"westus",
-
"tags": {
-
"department":"finance"
-
},
-
"properties": {
-
"availabilitySet": {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1"
-
},
-
"hardwareProfile": {
-
"vmSize":"Standard_A0"
-
},
-
"storageProfile": {
-
"imageReference": {
-
"publisher":"MicrosoftWindowsServerEssentials",
-
"offer":"WindowsServerEssentials",
-
"sku":"WindowsServerEssentials",
-
"version":"latest"
-
},
-
"osDisk": {
-
"name":"myosdisk1",
-
"vhd": {
-
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
-
},
-
"caching":"ReadWrite",
-
"createOption":"FromImage"
-
},
-
"dataDisks": [ {
-
"name":"mydatadisk1",
-
"diskSizeGB":"1",
-
"lun": 0,
-
"vhd": {
-
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
-
},
-
"createOption":"Empty"
-
} ]
-
},
-
"osProfile": {
-
"computerName":"fog-test-server",
-
"adminUsername":"fog",
-
"adminPassword":"fog",
-
"customData":"",
-
"windowsConfiguration": {
-
"provisionVMAgent":true,
-
"winRM": {
-
"listeners": [ {
-
"protocol": "https",
-
"certificateUrl": "url-to-certificate"
-
} ]
-
},
-
"enableAutomaticUpdates":true
-
},
-
"secrets":[ {
-
"sourceVault": {
-
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1"
-
},
-
"vaultCertificates": [ {
-
"certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}",
-
"certificateStore": "{certificateStoreName}"
-
} ]
-
} ]
-
},
-
"networkProfile": {
-
"networkInterfaces": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1"
-
} ]
-
}
-
}
-
}
-
]
-
}'
-
1
vm_mapper = Azure::ARM::Compute::Models::VirtualMachineListResult.mapper
-
1
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_available_sizes_for_virtual_machine_response(compute_client)
-
1
body = '{
-
"value": [
-
{
-
"name": "Standard_A0",
-
"numberOfCores": 1,
-
"osDiskSizeInMB": 130048,
-
"resourceDiskSizeInMB": 20480,
-
"memoryInMB": 768,
-
"maxDataDiskCount": 1
-
}
-
]
-
}'
-
1
vm_mapper = Azure::ARM::Compute::Models::VirtualMachineSizeListResult.mapper
-
1
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.virtual_machine_instance_view_response(compute_client)
-
1
body = '{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server",
-
"name":"fog-test-server",
-
"type":"Microsoft.Compute/virtualMachines",
-
"location":"westus",
-
"tags": {
-
"department":"finance"
-
},
-
"properties":
-
{
-
"instanceView":
-
{
-
"platformUpdateDomain": 0,
-
"platformFaultDomain": 0,
-
"vmAgent":
-
{
-
"vmAgentVersion": "2.5.1198.709",
-
"statuses": [
-
{
-
"code": "ProvisioningState/succeeded",
-
"level": "Info",
-
"displayStatus": "Ready",
-
"message": "GuestAgent is running and accepting new configurations.",
-
"time": "2015-04-21T11:42:44-07:00"
-
}]
-
},
-
"disks": [
-
{
-
"name": "msvm-os-20150410-074408-487548",
-
"statuses": [
-
{
-
"code": "ProvisioningState/succeeded",
-
"level": "Info",
-
"displayStatus": "Provisioning succeeded",
-
"time": "2015-04-10T12:44:10.4562812-07:00"
-
}]
-
}],
-
"statuses": [
-
{
-
"code": "ProvisioningState/succeeded",
-
"level": "Info",
-
"displayStatus": "Provisioning succeeded",
-
"time": "2015-04-10T12:50:09.0031588-07:00"
-
},
-
{
-
"code": "PowerState/running",
-
"level": "Info",
-
"displayStatus": "VM running"
-
}]
-
}
-
}
-
}'
-
1
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
1
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.vm_status_response
-
1
'running'
-
end
-
-
1
def self.update_virtual_machine_response(compute_client)
-
6
body = '
-
{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server",
-
"name":"fog-test-server",
-
"type":"Microsoft.Compute/virtualMachines",
-
"location":"westus",
-
"tags": {
-
"department":"finance"
-
},
-
"properties": {
-
"availabilitySet": {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1"
-
},
-
"hardwareProfile": {
-
"vmSize":"Standard_A0"
-
},
-
"storageProfile": {
-
"imageReference": {
-
"publisher":"MicrosoftWindowsServerEssentials",
-
"offer":"WindowsServerEssentials",
-
"sku":"WindowsServerEssentials",
-
"version":"latest"
-
},
-
"osDisk": {
-
"name":"myosdisk1",
-
"vhd": {
-
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
-
},
-
"caching":"ReadWrite",
-
"createOption":"FromImage"
-
},
-
"dataDisks": [ {
-
"name":"mydatadisk1",
-
"diskSizeGB":"1",
-
"lun": 0,
-
"vhd": {
-
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
-
},
-
"createOption":"Empty"
-
},
-
{
-
"name":"disk1",
-
"diskSizeGB":"1",
-
"lun": 0,
-
"vhd": {
-
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
-
},
-
"createOption":"Empty"
-
}]
-
},
-
"osProfile": {
-
"computerName":"fog-test-server",
-
"adminUsername":"fog",
-
"adminPassword":"fog",
-
"customData":"",
-
"windowsConfiguration": {
-
"provisionVMAgent":true,
-
"winRM": {
-
"listeners": [ {
-
"protocol": "https",
-
"certificateUrl": "url-to-certificate"
-
} ]
-
},
-
"enableAutomaticUpdates":true
-
},
-
"secrets":[ {
-
"sourceVault": {
-
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1"
-
},
-
"vaultCertificates": [ {
-
"certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}",
-
"certificateStore": "{certificateStoreName}"
-
} ]
-
} ]
-
},
-
"networkProfile": {
-
"networkInterfaces": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1"
-
} ]
-
}
-
}
-
}'
-
6
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
6
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.virtual_machine_15_data_disks_response(compute_client)
-
1
body = '
-
{
-
"id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server",
-
"name":"fog-test-server",
-
"type":"Microsoft.Compute/virtualMachines",
-
"location":"westus",
-
"tags": {
-
"department":"finance"
-
},
-
"properties": {
-
"availabilitySet": {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1"
-
},
-
"hardwareProfile": {
-
"vmSize":"Standard_A0"
-
},
-
"storageProfile": {
-
"imageReference": {
-
"publisher":"MicrosoftWindowsServerEssentials",
-
"offer":"WindowsServerEssentials",
-
"sku":"WindowsServerEssentials",
-
"version":"latest"
-
},
-
"osDisk": {
-
"name":"myosdisk1",
-
"vhd": {
-
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
-
},
-
"caching":"ReadWrite",
-
"createOption":"FromImage"
-
},
-
"dataDisks": [ {
-
"name":"mydatadisk1",
-
"diskSizeGB":"1",
-
"lun": 0,
-
"vhd": {
-
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
-
},
-
"createOption":"Empty"
-
},
-
{
-
"name":"disk1",
-
"diskSizeGB":"1",
-
"lun": 1,
-
"vhd": {
-
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
-
},
-
"createOption":"Empty"
-
},
-
{
-
"name":"disk2",
-
"lun": 2
-
},
-
{
-
"name":"disk3",
-
"lun": 3
-
},
-
{
-
"name":"disk3",
-
"lun": 4
-
},
-
{
-
"name":"disk4",
-
"lun": 5
-
},
-
{
-
"name":"disk5",
-
"lun": 6
-
},
-
{
-
"name":"disk6",
-
"lun": 7
-
},
-
{
-
"name":"disk7",
-
"lun": 8
-
},
-
{
-
"name":"disk8",
-
"lun": 9
-
},
-
{
-
"name":"disk9",
-
"lun": 10
-
},
-
{
-
"name":"disk10",
-
"lun": 11
-
},
-
{
-
"name":"disk11",
-
"lun": 12
-
},
-
{
-
"name":"disk12",
-
"lun": 13
-
},
-
{
-
"name":"disk13",
-
"lun": 14
-
},
-
{
-
"name":"disk14",
-
"lun": 15
-
}]
-
},
-
"osProfile": {
-
"computerName":"fog-test-server",
-
"adminUsername":"fog",
-
"adminPassword":"fog",
-
"customData":"",
-
"windowsConfiguration": {
-
"provisionVMAgent":true,
-
"winRM": {
-
"listeners": [ {
-
"protocol": "https",
-
"certificateUrl": "url-to-certificate"
-
} ]
-
},
-
"enableAutomaticUpdates":true
-
},
-
"secrets":[ {
-
"sourceVault": {
-
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1"
-
},
-
"vaultCertificates": [ {
-
"certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}",
-
"certificateStore": "{certificateStoreName}"
-
} ]
-
} ]
-
},
-
"networkProfile": {
-
"networkInterfaces": [ {
-
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1"
-
} ]
-
}
-
}
-
}'
-
1
vm_mapper = Azure::ARM::Compute::Models::VirtualMachine.mapper
-
1
compute_client.deserialize(vm_mapper, JSON.load(body), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Compute
-
# Mock class for VirtualMachineExtension Requests
-
1
class VirtualMachineExtension
-
1
def self.create_vm_extension_response(compute_client)
-
7
body = {
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/TestRG/providers/Microsoft.Compute/virtualMachines/TestVM/extensions/IaaSAntimalware',
-
'name' => 'IaasAntimalware',
-
'resource_group' => 'fog-test-rg',
-
'location' => 'West US',
-
'properties' => {
-
'publisher' => 'Microsoft.Azure.Security',
-
'type' => 'IaaSAntimalware',
-
'typeHandlerVersion' => '1.3',
-
'autoUpgradeMinorVersion' => 'true',
-
'forceUpdateTag' => 'RerunExtension',
-
'settings' => {
-
'AnitmalwareEnabled' => 'true',
-
'RealtimeProtectionEnabled' => 'false'
-
},
-
'protected_settings' => {}
-
}
-
}
-
7
extension_mapper = Azure::ARM::Compute::Models::VirtualMachineExtension.mapper
-
7
compute_client.deserialize(extension_mapper, body, 'result.body')
-
end
-
-
1
def self.vm_extension_params
-
{
-
resource_group: 'TestRG',
-
location: 'eastus',
-
vm_name: 'TestVM',
-
name: 'IaaSAntimalware',
-
publisher: 'Microsoft.Azure.Security',
-
type: 'IaaSAntimalware',
-
type_handler_version: '1.3',
-
auto_upgrade_minor_version: true,
-
settings: '{"AntimalwareEnabled": "true", "RealtimeProtectionEnabled": "false", "ScheduledScanSettings": {"isEnabled": "false", "day": "7", "time": "120", "scanType": "Quick"}, "Exclusions": {"Extensions": "", "Paths": "", "Processes": ""}}',
-
protected_settings: '{}'
-
6
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module DNS
-
# Mock class for Record Set
-
1
class RecordSet
-
1
def self.list_record_sets_response(dns_client)
-
6
body = '{
-
"value": [{
-
"id":"\/subscriptions\/########-####-####-####-############\/resourceGroups\/Fog_test_rg\/providers\/Microsoft.Network\/dnszones\/fog-test-zone.com\/CNAME\/fog-test-record_set",
-
"name":"fog-test-record_set",
-
"type":"Microsoft.Network\/dnszones\/A",
-
"etag":"2cce3e93-fc64-43e4-835c-27581c28502b",
-
"location":"global",
-
"tags":{},
-
"properties":
-
{
-
"metadata":{},
-
"fqdn":"fog-test-record_set.fog-test-zone.com.",
-
"TTL":60,
-
"ARecords":[{"ipv4Address":"1.2.3.4"},{"ipv4Address":"1.2.3.3"}]
-
}
-
}]
-
}'
-
6
record_set_mapper = Azure::ARM::Dns::Models::RecordSetListResult.mapper
-
6
dns_client.deserialize(record_set_mapper, JSON.load(body), 'result.body').value
-
end
-
-
1
def self.record_set_response_for_a_type_response(dns_client)
-
2
record_set = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/EdgeMonitoring2/providers/Microsoft.Network/dnszones/edgemonitoring2.com./A/www",
-
"location": "global",
-
"name": "www",
-
"tags": {},
-
"type": "Microsoft.Network/dnszones/A",
-
"etag": "5b83020b-b59c-44be-8f19-a052ebe80fe7",
-
"properties": {
-
"TTL": 3600,
-
"ARecords": [
-
{
-
"ipv4Address": "4.3.2.1"
-
},
-
{
-
"ipv4Address": "5.3.2.1"
-
}
-
]
-
}
-
}'
-
2
record_set_mapper = Azure::ARM::Dns::Models::RecordSet.mapper
-
2
dns_client.deserialize(record_set_mapper, JSON.load(record_set), 'result.body')
-
end
-
-
1
def self.record_set_response_for_cname_type(dns_client)
-
3
record_set = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/EdgeMonitoring2/providers/Microsoft.Network/dnszones/edgemonitoring2.com./CNAME/www",
-
"location": "global",
-
"name": "www",
-
"tags": {},
-
"type": "Microsoft.Network/dnszones/CNAME",
-
"etag": "5b83020b-b59c-44be-8f19-a052ebe80fe7",
-
"properties": {
-
"metadata": [],
-
"fqdn": "fog-test-record_set.fog-test-zone.com.",
-
"TTL": "60",
-
"CNAMERecord": {
-
"cname": "test.fog.com"
-
}
-
}
-
}'
-
3
record_set_mapper = Azure::ARM::Dns::Models::RecordSet.mapper
-
3
dns_client.deserialize(record_set_mapper, JSON.load(record_set), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module DNS
-
# Mock class for Zone
-
1
class Zone
-
1
def self.list_zones_response(dns_client)
-
body = '{
-
"value": [{
-
"id":"\/subscriptions\/########-####-####-####-############\/resourceGroups\/fog_test_rg\/providers\/Microsoft.Network\/dnszones\/adnaan.com",
-
"name":"adnaan.com",
-
"type":"Microsoft.Network\/dnszones",
-
"etag":"00000011-0000-0000-19f2-3a6c32b0d101",
-
"location":"global",
-
"tags":{},
-
"properties":
-
{
-
"maxNumberOfRecordSets":5000,
-
"nameServers":null,
-
"numberOfRecordSets":2,
-
"parentResourceGroupName":"fog_test_rg"
-
},
-
"resource_group":"fog-test-rg"
-
}]
-
}'
-
zone_mapper = Azure::ARM::Dns::Models::ZoneListResult.mapper
-
dns_client.deserialize(zone_mapper, JSON.load(body), 'result.body').value
-
end
-
-
1
def self.zone_response(dns_client)
-
4
zone = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.Network/dnszones/fog-test-zone.com",
-
"name": "fog-test-zone.com",
-
"type": "Microsoft.Network/dnszones",
-
"etag": "00000003-0000-0000-bd66-02b337a4d101",
-
"location": "global",
-
"tags": {},
-
"properties":
-
{
-
"maxNumberOfRecordSets": 100,
-
"nameServers": [],
-
"numberOfRecordSets": 2,
-
"parentResourceGroupName": "fog-test-rg"
-
},
-
"resource_group": "fog-test-rg"
-
}'
-
4
zone_mapper = Azure::ARM::Dns::Models::Zone.mapper
-
4
dns_client.deserialize(zone_mapper, JSON.load(zone), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
# Mock class for Express Route Circuit Requests
-
1
class ExpressRouteCircuit
-
1
def self.create_express_route_circuit_response(network_client)
-
3
body = '{
-
"name": "<circuit name>",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/testCircuit",
-
"location": "<location>",
-
"tags": {
-
"key1": "value1",
-
"key2": "value2"
-
},
-
"sku": {
-
"name": "Standard_MeteredData",
-
"tier": "Standard",
-
"family": "MeteredData"
-
},
-
"properties": {
-
"serviceProviderProperties": {
-
"serviceProviderName": "serviceProviderName",
-
"peeringLocation": "<peering location>",
-
"bandwidthInMbps": 100
-
},
-
"peerings": [
-
{
-
"name": "AzurePublicPeering",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}",
-
"properties": {
-
"peeringType": "AzurePublicPeering",
-
"peerASN": 100,
-
"PrimaryPeerAddressPrefix": "192.168.1.0/30",
-
"SecondaryPeerAddressPrefix": "192.168.2.0/30",
-
"vlanId": 200
-
}
-
}
-
]
-
}
-
}'
-
3
express_route_circuit_mapper = Azure::ARM::Network::Models::ExpressRouteCircuit.mapper
-
3
network_client.deserialize(express_route_circuit_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_express_route_circuit_response(network_client)
-
1
body = '{
-
"value": [
-
{
-
"name": "<circuit name>",
-
"id": "/subscriptions/{guid}/resourceGroup/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}",
-
"etag": " W/\"00000000-0000-0000-0000-000000000000\"",
-
"location": "eastus",
-
"tags": {
-
"key1": "value1",
-
"key2": "value2"
-
},
-
"sku": {
-
"name": "Standard_MeteredData",
-
"tier": "Standard",
-
"family": "MeteredData"
-
},
-
"properties": {
-
"provisioningState": "Succeeded",
-
"circuitProvisioningState": "Enabled",
-
"serviceProviderProvisioningState": "Provisioned",
-
"serviceProviderProperties": {
-
"serviceProviderName": "serviceProviderName",
-
"peeringLocation": "<peering location",
-
"bandwidthInMbps": 100
-
}
-
},
-
"serviceKey": "<unique service key for circuit>",
-
"serviceProviderNotes": "<notes set only by ServiceProvider>"
-
}
-
]
-
}'
-
1
express_route_circuit_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitListResult.mapper
-
1
network_client.deserialize(express_route_circuit_mapper, JSON.load(body), 'result.body').value
-
end
-
-
1
def self.peerings
-
2
peerings =
-
[
-
{
-
name: 'AzurePrivatePeering',
-
circuit_name: 'Circuit Name',
-
resource_group: 'Fog-rg',
-
peering_type: 'AzurePrivatePeering',
-
peer_asn: 100,
-
primary_peer_address_prefix: '192.168.3.0/30',
-
secondary_peer_address_prefix: '192.168.4.0/30',
-
vlan_id: 200
-
}
-
]
-
2
peerings
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
# Mock class for Express Route Circuit Authorization Requests
-
1
class ExpressRouteCircuitAuthorization
-
1
def self.create_express_route_circuit_authorization_response(network_client)
-
5
authorization = '{
-
"name": "MicrosoftAuthorization",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}",
-
"properties": {
-
"authorizationKey" : "authorization-key",
-
"authorizationUseStatus" : "Available"
-
}
-
}'
-
5
circuit_auth_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitAuthorization.mapper
-
5
network_client.deserialize(circuit_auth_mapper, JSON.load(authorization), 'result.body')
-
end
-
-
1
def self.auth_hash
-
{
-
resource_group: 'rg-name',
-
name: 'auth-unique-name',
-
circuit_name: 'circuit-name',
-
authorization_use_status: 'Available',
-
authorization_name: 'authorization-name'
-
3
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
# Mock class for Express Route Circuit Peering Requests
-
1
class ExpressRouteCircuitPeering
-
1
def self.create_express_route_circuit_peering_response(network_client)
-
3
body = '{
-
"name": "MicrosoftPeering",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}",
-
"properties": {
-
"peeringType": "MicrosoftPeering",
-
"peerASN": 100,
-
"primaryPeerAddressPrefix": "192.168.1.0/30",
-
"secondaryPeerAddressPrefix": "192.168.2.0/30",
-
"vlanId": 200,
-
"microsoftPeeringConfig": {
-
"advertisedpublicprefixes": [
-
"11.2.3.4/30",
-
"12.2.3.4/30"
-
],
-
"advertisedPublicPrefixState": "NotConfigured ",
-
"customerAsn": 200,
-
"routingRegistryName": "<name>"
-
}
-
}
-
}'
-
3
express_route_circuit_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitPeering.mapper
-
3
network_client.deserialize(express_route_circuit_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_express_route_circuit_peering_response(network_client)
-
1
body = '{
-
"value": [
-
{
-
"name": "MicrosoftPeering",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}",
-
"properties": {
-
"peeringType": "MicrosoftPeering",
-
"peerASN": 100,
-
"primaryPeerAddressPrefix": "192.168.1.0/30",
-
"secondaryPeerAddressPrefix": "192.168.2.0/30",
-
"vlanId": 200,
-
"microsoftPeeringConfig": {
-
"advertisedpublicprefixes": [
-
"11.2.3.4/30",
-
"12.2.3.4/30"
-
],
-
"advertisedPublicPrefixState": "NotConfigured ",
-
"customerAsn": 200,
-
"routingRegistryName": "<name>"
-
}
-
}
-
}
-
]
-
}'
-
1
express_route_circuit_mapper = Azure::ARM::Network::Models::ExpressRouteCircuitPeeringListResult.mapper
-
1
network_client.deserialize(express_route_circuit_mapper, JSON.load(body), 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
# Mock class for Express Route Service Provider Requests
-
1
class ExpressRouteServiceProvider
-
1
def self.list_express_route_service_providers_response(network_client)
-
1
service_provider = '{
-
"value": [
-
{
-
"name": "<providername>",
-
"peeringLocations": [
-
"location1",
-
"location2"
-
],
-
"bandwidthsOffered": [
-
{
-
"offerName": "100Mbps",
-
"valueInMbps": 100
-
}
-
]
-
}
-
]
-
}'
-
1
express_route_servcie_provider_mapper = Azure::ARM::Network::Models::ExpressRouteServiceProviderListResult.mapper
-
1
network_client.deserialize(express_route_servcie_provider_mapper, JSON.load(service_provider), 'result.body').value
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
1
class LoadBalancer
-
1
def self.create_load_balancer_response(network_client)
-
3
response = '{
-
"name":"mylb1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1",
-
"location":"North US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"6ECBD4C1-0DC1-4D86-9F6E-4A58F83C9023",
-
"provisioningState":"Succeeded",
-
"frontendIPConfigurations":[
-
{
-
"name":"myip1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/frontendIPConfigurations/myip1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"subnet":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1"
-
},
-
"privateIPAddress":"10.0.0.10",
-
"privateIPAllocationMethod":"Static",
-
"publicIPAddress":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/myip1"
-
},
-
"loadBalancingRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
],
-
"inboundNatRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/inboundNatRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"backendAddressPools":[
-
{
-
"name":"pool1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"backendIPConfigurations":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
}
-
],
-
"loadBalancingRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"loadBalancingRules":[
-
{
-
"name":"HTTP Traffic",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/loadBalancingRules/rule1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"frontendIPConfiguration":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"backendAddressPool":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/backendAddressPool/pool1"
-
},
-
"protocol":"Tcp",
-
"frontendPort":80,
-
"backendPort":8080,
-
"probe":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/probe1"
-
},
-
"enableFloatingIP":true,
-
"idleTimeoutInMinutes":4,
-
"loadDistribution":"Default"
-
}
-
}
-
],
-
"probes":[
-
{
-
"name":"my probe 1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/my probe 1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"protocol":"Tcp",
-
"port":8080,
-
"requestPath":"myprobeapp1/myprobe1.svc",
-
"intervalInSeconds":5,
-
"numberOfProbes":16,
-
"loadBalancingRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"inboundNatRules":[
-
{
-
"name":"RDP Traffic",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/inboundNatRules/RDP Traffic",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"frontendIPConfiguration":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"backendIPConfiguration":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
"protocol":"Tcp",
-
"frontendPort":3389,
-
"backendPort":3389
-
}
-
}
-
],
-
"inboundNatPools":[
-
{
-
"name": "RDPForVMSS1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers /Microsoft.Network/loadBalancers/myLB1/inboundNatRules/RDPForVMSS1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Updating|Deleting|Failed|Succeeded",
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"protocol": "Tcp",
-
"frontendPortRangeStart": 50000,
-
"frontendPortRangeEnd": 50500,
-
"backendPort": 3389
-
}
-
}
-
]
-
}
-
}'
-
3
load_balancer_mapper = Azure::ARM::Network::Models::LoadBalancer.mapper
-
3
network_client.deserialize(load_balancer_mapper, JSON.load(response), 'result.body')
-
end
-
-
1
def self.list_load_balancers_response(network_client)
-
1
response = '{
-
"value": [
-
{
-
"name": "mylb1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1",
-
"location": "North US",
-
"tags": {
-
"key": "value"
-
},
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"resourceGuid": "6ECBD4C1-0DC1-4D86-9F6E-4A58F83C9023",
-
"provisioningState": "Succeeded",
-
"frontendIPConfigurations": [
-
{
-
"name": "myip1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/frontendIPConfigurations/myip1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"subnet": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1"
-
},
-
"privateIPAddress": "10.0.0.10",
-
"privateIPAllocationMethod": "Static",
-
"publicIPAddress": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/myip1"
-
},
-
"loadBalancingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
],
-
"inboundNatRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/inboundNatRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"backendAddressPools": [
-
{
-
"name": "pool1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"backendIPConfigurations": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
}
-
],
-
"loadBalancingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"loadBalancingRules": [
-
{
-
"name": "HTTP Traffic",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/loadBalancingRules/rule1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"backendAddressPool": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/backendAddressPool/pool1"
-
},
-
"protocol": "Tcp",
-
"frontendPort": 80,
-
"backendPort": 8080,
-
"probe": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/probe1"
-
},
-
"enableFloatingIP": true,
-
"idleTimeoutInMinutes": 4,
-
"loadDistribution": "Default"
-
}
-
}
-
],
-
"probes": [
-
{
-
"name": "my probe 1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/my probe 1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"protocol": "Tcp",
-
"port": 8080,
-
"requestPath": "myprobeapp1/myprobe1.svc",
-
"intervalInSeconds": 5,
-
"numberOfProbes": 16,
-
"loadBalancingRules": [
-
{
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/loadBalancingRules/rule1"
-
}
-
]
-
}
-
}
-
],
-
"inboundNatRules": [
-
{
-
"name": "RDP Traffic",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/inboundNatRules/RDP Traffic",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Succeeded",
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"backendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
"protocol": "Tcp",
-
"frontendPort": 3389,
-
"backendPort": 3389
-
}
-
}
-
],
-
"inboundNatPools": [
-
{
-
"name": "RDPForVMSS1",
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers /Microsoft.Network/loadBalancers/myLB1/inboundNatRules/RDPForVMSS1",
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"provisioningState": "Updating|Deleting|Failed|Succeeded",
-
"frontendIPConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/frontendIPConfigurations/ip1"
-
},
-
"protocol": "Tcp",
-
"frontendPortRangeStart": 50000,
-
"frontendPortRangeEnd": 50500,
-
"backendPort": 3389
-
}
-
}
-
]
-
}
-
}
-
]
-
}'
-
1
load_balancer_mapper = Azure::ARM::Network::Models::LoadBalancerListResult.mapper
-
1
network_client.deserialize(load_balancer_mapper, JSON.load(response), 'result.body')
-
end
-
-
1
def self.delete_load_balancer_response
-
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
-
1
def self.frontend_ip_config
-
2
fic =
-
[
-
{
-
name: 'fic',
-
private_ipallocation_method: 'Dynamic',
-
public_ipaddress_id: '/subscriptions/{guid}/resourcegroups/fogRM-rg/providers/Microsoft.Network/publicIPAddresses/pip',
-
subnet_id: '/subscriptions/{guid}/resourcegroups/fogRM-rg/providers/Microsoft.Network/virtualNetworks/vnet/subnets/sb1'
-
}
-
]
-
2
fic
-
end
-
-
1
def self.backend_address_pool
-
2
bap =
-
%w(pool1 pool2)
-
2
bap
-
end
-
-
1
def self.probe
-
2
prb =
-
[
-
{
-
name: 'probe1',
-
protocol: 'Tcp',
-
port: 8080,
-
request_path: 'myprobeapp1/myprobe1.svc',
-
interval_in_seconds: 5,
-
number_of_probes: 16
-
}
-
]
-
2
prb
-
end
-
-
1
def self.load_balancing_rule
-
2
lbr =
-
[
-
{
-
name: 'lb_rule_1',
-
frontend_ip_configuration_id: '/subscriptions/{guid}/resourceGroups/fogRM-rg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fic',
-
backend_address_pool_id: '/subscriptions/{guid}/resourceGroups/fogRM-rg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/pool1',
-
protocol: 'Tcp',
-
probe_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/myLB1/probes/probe1',
-
frontend_port: '80',
-
backend_port: '8080',
-
enable_floating_ip: false,
-
idle_timeout_in_minutes: 4,
-
load_distribution: 'Default'
-
}
-
]
-
2
lbr
-
end
-
-
1
def self.inbound_nat_rule
-
2
inr = [
-
{
-
name: 'RDP-Traffic',
-
frontend_ip_configuration_id: '/subscriptions/{guid}/resourceGroups/fogRM-rg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fic',
-
protocol: 'Tcp',
-
frontend_port: 3389,
-
backend_port: 3389
-
}
-
]
-
2
inr
-
end
-
-
1
def self.inbound_nat_pool
-
2
inp = [
-
{
-
name: 'RDPForVMSS1',
-
protocol: 'Tcp',
-
frontend_port_range_start: 500,
-
frontend_port_range_end: 505,
-
backend_port: 3389
-
}
-
]
-
2
inp
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
# Mock class for Local Network Gateway Requests
-
1
class LocalNetworkGateway
-
1
def self.create_local_network_gateway_response(network_client)
-
4
local_network_gateway = {
-
'id' => '/subscriptions/<Subscription_id>/resourceGroups/learn_fog/providers/Microsoft.Network/localNetworkGateways/testLocalNetworkGateway',
-
'name' => 'testLocalNetworkGateway',
-
'type' => 'Microsoft.Network/localNetworkGateways',
-
'location' => 'eastus',
-
'properties' =>
-
{
-
'local_network_address_space' => {
-
'address_prefixes' => []
-
},
-
'gateway_ip_address' => '192.168.1.1',
-
'bgp_settings' => {
-
'asn' => 100,
-
'bgp_peering_address' => '192.168.1.2',
-
'peer_weight' => 3
-
}
-
}
-
}
-
4
local_network_gateway_mapper = Azure::ARM::Network::Models::LocalNetworkGateway.mapper
-
4
network_client.deserialize(local_network_gateway_mapper, local_network_gateway, 'result.body')
-
end
-
-
1
def self.delete_local_network_gateway_response
-
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
-
1
def self.list_local_network_gateway_response(network_client)
-
1
local_network_gateway = {
-
'value' => [
-
{
-
'id' => '/subscriptions/<Subscription_id>/resourceGroups/learn_fog/providers/Microsoft.Network/localNetworkGateways/testLocalNetworkGateway',
-
'name' => 'testLocalNetworkGateway',
-
'type' => 'Microsoft.Network/localNetworkGateways',
-
'location' => 'eastus',
-
'properties' =>
-
{
-
'local_network_address_space' => {
-
'address_prefixes' => []
-
},
-
'gateway_ip_address' => '192.168.1.1',
-
'bgp_settings' => {
-
'asn' => 100,
-
'bgp_peering_address' => '192.168.1.2',
-
'peer_weight' => 3
-
}
-
}
-
}
-
]
-
}
-
1
local_network_gateway_mapper = Azure::ARM::Network::Models::LocalNetworkGatewayListResult.mapper
-
1
network_client.deserialize(local_network_gateway_mapper, local_network_gateway, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
1
class NetworkInterface
-
1
def self.create_network_interface_response(network_client)
-
6
body = '{
-
"name":"fog-test-network-interface",
-
"id":"/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-network-interface",
-
"location":"West US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"5ED47B81-9F1C-4ACE-97A5-7B8CE08C5002",
-
"provisioningState":"Succeeded",
-
"virtualMachine":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/vm1"
-
},
-
"macAddress":"00-00-00-00-00-00",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"ipConfigurations":[
-
{
-
"name":"myip1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1mynic1/ipConfigurations/myip1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"subnet":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysub1"
-
},
-
"privateIPAddress":"10.0.0.8",
-
"privateIPAllocationMethod":"Static",
-
"publicIPAddress":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/mypip1"
-
},
-
"loadBalancerBackendAddressPools":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1"
-
}
-
],
-
"loadBalancerInboundNatRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/rdp for myvm1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/powershell for myvm1"
-
}
-
]
-
}
-
}
-
],
-
"dnsSettings":{
-
"dnsServers":[
-
"10.0.0.4",
-
"10.0.0.5"
-
],
-
"appliedDnsServers": ["1.0.0.1", "2.0.0.2", "3.0.0.3"],
-
"internalDnsNameLabel": "IdnsVm1",
-
"internalFqdn": "IdnsVm1.a2ftlxfjn2iezihj3udx1wfn4d.hx.internal.cloudapp.net"
-
}
-
}
-
}'
-
6
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterface.mapper
-
6
network_client.deserialize(network_interface_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.detach_pip_from_nic_response(network_client)
-
1
body = '{
-
"name":"fog-test-network-interface",
-
"id":"/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-network-interface",
-
"location":"West US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"5ED47B81-9F1C-4ACE-97A5-7B8CE08C5002",
-
"provisioningState":"Succeeded",
-
"virtualMachine":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/vm1"
-
},
-
"macAddress":"00-00-00-00-00-00",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"ipConfigurations":[
-
{
-
"name":"myip1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1mynic1/ipConfigurations/myip1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"subnet":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysub1"
-
},
-
"privateIPAddress":"10.0.0.8",
-
"privateIPAllocationMethod":"Static",
-
"loadBalancerBackendAddressPools":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1"
-
}
-
],
-
"loadBalancerInboundNatRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/rdp for myvm1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/powershell for myvm1"
-
}
-
]
-
}
-
}
-
],
-
"dnsSettings":{
-
"dnsServers":[
-
"10.0.0.4",
-
"10.0.0.5"
-
],
-
"appliedDnsServers": ["1.0.0.1", "2.0.0.2", "3.0.0.3"],
-
"internalDnsNameLabel": "IdnsVm1",
-
"internalFqdn": "IdnsVm1.a2ftlxfjn2iezihj3udx1wfn4d.hx.internal.cloudapp.net"
-
}
-
}
-
}'
-
1
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterface.mapper
-
1
network_client.deserialize(network_interface_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.detach_nsg_from_nic_response(network_client)
-
1
body = '{
-
"name":"fog-test-network-interface",
-
"id":"/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkInterfaces/fog-test-network-interface",
-
"location":"West US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"5ED47B81-9F1C-4ACE-97A5-7B8CE08C5002",
-
"provisioningState":"Succeeded",
-
"virtualMachine":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/vm1"
-
},
-
"macAddress":"00-00-00-00-00-00",
-
"ipConfigurations":[
-
{
-
"name":"myip1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1mynic1/ipConfigurations/myip1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"subnet":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysub1"
-
},
-
"privateIPAddress":"10.0.0.8",
-
"privateIPAllocationMethod":"Static",
-
"loadBalancerBackendAddressPools":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1"
-
}
-
],
-
"loadBalancerInboundNatRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/rdp for myvm1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/powershell for myvm1"
-
}
-
]
-
}
-
}
-
],
-
"dnsSettings":{
-
"dnsServers":[
-
"10.0.0.4",
-
"10.0.0.5"
-
],
-
"appliedDnsServers": ["1.0.0.1", "2.0.0.2", "3.0.0.3"],
-
"internalDnsNameLabel": "IdnsVm1",
-
"internalFqdn": "IdnsVm1.a2ftlxfjn2iezihj3udx1wfn4d.hx.internal.cloudapp.net"
-
}
-
}
-
}'
-
1
network_interface_mapper = Azure::ARM::Network::Models::NetworkInterface.mapper
-
1
network_client.deserialize(network_interface_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_network_interfaces_response(network_client)
-
1
body = '{
-
"value": [ {
-
"name":"mynic1",
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1mynic1",
-
"location":"North US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"5ED47B81-9F1C-4ACE-97A5-7B8CE08C5002",
-
"provisioningState":"Succeeded",
-
"virtualMachine":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/vm1"
-
},
-
"macAddress":"00-00-00-00-00-00",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"ipConfigurations":[
-
{
-
"name":"myip1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1mynic1/ipConfigurations/myip1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"subnet":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysub1"
-
},
-
"privateIPAddress":"10.0.0.8",
-
"privateIPAllocationMethod":"Static",
-
"publicIPAddress":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/mypip1"
-
},
-
"loadBalancerBackendAddressPools":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/backendAddressPools/pool1"
-
}
-
],
-
"loadBalancerInboundNatRules":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/rdp for myvm1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/mylb1/inboundNatRules/powershell for myvm1"
-
}
-
]
-
}
-
}
-
],
-
"dnsSettings":{
-
"dnsServers":[
-
"10.0.0.4",
-
"10.0.0.5"
-
],
-
"appliedDnsServers": ["1.0.0.1", "2.0.0.2", "3.0.0.3"],
-
"internalDnsNameLabel": "IdnsVm1",
-
"internalFqdn": "IdnsVm1.a2ftlxfjn2iezihj3udx1wfn4d.hx.internal.cloudapp.net"
-
}
-
}
-
} ]
-
}'
-
1
network_interface_list_mapper = Azure::ARM::Network::Models::NetworkInterfaceListResult.mapper
-
1
network_client.deserialize(network_interface_list_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.delete_network_interface_response
-
1
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
# Mock class for Network Security Group Requests
-
1
class NetworkSecurityGroup
-
1
def self.create_network_security_group_response(network_client)
-
4
nsg = '{
-
"name":"fog-test-nsg",
-
"id":"/subscriptions/#####/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkSecurityGroups/fog-test-nsg",
-
"location":"West US",
-
"properties":{
-
"resourceGuid":"AF6A2C41-9F74-46B3-9F65-F5286FFEE3DE",
-
"provisioningState":"Succeeded",
-
"securityRules":[
-
{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":100,
-
"direction":"Inbound"
-
}
-
}
-
],
-
"defaultSecurityRules":[
-
{
-
"name":"AllowVnetInBound",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/defaultSecurityRules/AllowVnetInBound",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"*",
-
"destinationPortRange":"*",
-
"sourceAddressPrefix":"VirtualNetwork",
-
"destinationAddressPrefix":"VirtualNetwork",
-
"access":"Allow ",
-
"priority":65000,
-
"direction":"Inbound"
-
}
-
}
-
],
-
"networkInterfaces":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1nic1 "
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1nic2"
-
}
-
],
-
"subnets":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1"
-
}
-
]
-
}
-
}'
-
4
result_mapper = Azure::ARM::Network::Models::NetworkSecurityGroup.mapper
-
4
network_client.deserialize(result_mapper, JSON.load(nsg), 'result.body')
-
end
-
-
1
def self.add_security_rules_response(network_client)
-
2
nsg = '{
-
"name":"fog-test-nsg",
-
"id":"/subscriptions/#####/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkSecurityGroups/fog-test-nsg",
-
"location":"West US",
-
"properties":{
-
"resourceGuid":"AF6A2C41-9F74-46B3-9F65-F5286FFEE3DE",
-
"provisioningState":"Succeeded",
-
"securityRules":[
-
{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":100,
-
"direction":"Inbound"
-
}
-
},
-
{
-
"name": "testRule",
-
"properties":{
-
"description":"This is a test rule",
-
"protocol": "tcp",
-
"sourcePortRange":"22",
-
"destinationPortRange":"22",
-
"sourceAddressPrefix":"0.0.0.0/0",
-
"destinationAddressPrefix":"0.0.0.0/0",
-
"access":"Allow",
-
"priority":101,
-
"direction":"Inbound"
-
}
-
}
-
],
-
"defaultSecurityRules":[
-
{
-
"name":"AllowVnetInBound",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/defaultSecurityRules/AllowVnetInBound",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"*",
-
"destinationPortRange":"*",
-
"sourceAddressPrefix":"VirtualNetwork",
-
"destinationAddressPrefix":"VirtualNetwork",
-
"access":"Allow ",
-
"priority":65000,
-
"direction":"Inbound"
-
}
-
}
-
],
-
"networkInterfaces":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1nic1 "
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1nic2"
-
}
-
],
-
"subnets":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1"
-
}
-
]
-
}
-
}'
-
2
result_mapper = Azure::ARM::Network::Models::NetworkSecurityGroup.mapper
-
2
network_client.deserialize(result_mapper, JSON.load(nsg), 'result.body')
-
end
-
-
1
def self.list_network_security_group_response(network_client)
-
1
nsg_list = '{
-
"value":[
-
{
-
"name":"fog-test-nsg",
-
"id":"/subscriptions/####/resourceGroups/fog-test-rg/providers/Microsoft.Network/networkSecurityGroups/fog-test-nsg",
-
"location":"West US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"AF6A2C41-9F74-46B3-9F65-F5286FFEE3DE",
-
"provisioningState":"Succeeded",
-
"securityRules":[
-
{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":100,
-
"direction":"Inbound"
-
}
-
}
-
],
-
"defaultSecurityRules":[
-
{
-
"name":"AllowVnetInBound",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/defaultSecurityRules/AllowVnetInBound",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"*",
-
"destinationPortRange":"*",
-
"sourceAddressPrefix":"VirtualNetwork",
-
"destinationAddressPrefix":"VirtualNetwork",
-
"access":"Allow ",
-
"priority":65000,
-
"direction":"Inbound"
-
}
-
}
-
],
-
"networkInterfaces":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1nic1 "
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1nic2"
-
}
-
],
-
"subnets":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1"
-
}
-
]
-
}
-
}
-
]
-
}'
-
1
result_mapper = Azure::ARM::Network::Models::NetworkInterfaceListResult.mapper
-
1
network_client.deserialize(result_mapper, JSON.load(nsg_list), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
# Mock class for Network Security Rule Request
-
1
class NetworkSecurityRule
-
1
def self.create_network_security_rule_response(network_client)
-
2
nsr = '{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":6500,
-
"direction":"Inbound"
-
}
-
}'
-
2
nsr_mapper = Azure::ARM::Network::Models::SecurityRule.mapper
-
2
network_client.deserialize(nsr_mapper, JSON.load(nsr), 'result.body')
-
end
-
-
1
def self.network_security_rule_paramteres_hash
-
{
-
name: 'testRule',
-
resource_group: 'TestRG-NSR',
-
protocol: 'tcp',
-
network_security_group_name: 'testGroup',
-
source_port_range: '22',
-
destination_port_range: '22',
-
source_address_prefix: '0.0.0.0/0',
-
destination_address_prefix: '0.0.0.0/0',
-
access: 'Allow',
-
priority: '100',
-
direction: 'Inbound'
-
2
}
-
end
-
-
1
def self.list_network_security_rules(network_client)
-
1
nsr_list = '{
-
"value":[
-
{
-
"name":"myNsRule",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNsg/securityRules/myNsRule",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"description":"description-of-this-rule",
-
"protocol": "*",
-
"sourcePortRange":"source-port-range",
-
"destinationPortRange":"destination-port-range",
-
"sourceAddressPrefix":"*",
-
"destinationAddressPrefix":"*",
-
"access":"Allow",
-
"priority":100,
-
"direction":"Inbound"
-
}
-
}
-
]
-
}'
-
1
nsr_mapper = Azure::ARM::Network::Models::SecurityRuleListResult.mapper
-
1
network_client.deserialize(nsr_mapper, JSON.load(nsr_list), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
1
class PublicIp
-
1
def self.create_public_ip_response(network_client)
-
6
body = '{
-
"name": "fog-test-public-ip",
-
"id": "/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/publicIpAddresses/fog-test-public-ip",
-
"location": "West US",
-
"tags": {
-
"key": "value"
-
},
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"resourceGuid":"0CB6BF8A-FFBD-486A-A6A2-DA6633481B50",
-
"provisioningState": "Succeeded",
-
"ipAddress": "1.1.1.1",
-
"publicIPAllocationMethod": "Dynamic",
-
"idleTimeoutInMinutes": 4,
-
"ipConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
"dnsSettings": {
-
"domainNameLabel": "mylabel",
-
"fqdn": "mylabel.northus.cloudapp.azure.com.",
-
"reverseFqdn": "contoso.com."
-
}
-
}
-
}'
-
6
public_ip_mapper = Azure::ARM::Network::Models::PublicIPAddress.mapper
-
6
network_client.deserialize(public_ip_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_public_ips_response(network_client)
-
1
body = '{
-
"value": [ {
-
"name": "myPublicIP1",
-
"id": "/subscriptions/{guid}/resourceGroups/rg1/Microsoft.Network/publicIpAddresses/ip1",
-
"location": "North US",
-
"tags": {
-
"key": "value"
-
},
-
"etag": "W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties": {
-
"resourceGuid":"0CB6BF8A-FFBD-486A-A6A2-DA6633481B50",
-
"provisioningState": "Succeeded",
-
"ipAddress": "1.1.1.1",
-
"publicIPAllocationMethod": "Static",
-
"idleTimeoutInMinutes": 4,
-
"ipConfiguration": {
-
"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
"dnsSettings": {
-
"domainNameLabel": "mylabel",
-
"fqdn": "mylabel.northus.cloudapp.azure.com.",
-
"reverseFqdn": "contoso.com."
-
}
-
}
-
} ]
-
}'
-
1
public_ip_mapper = Azure::ARM::Network::Models::PublicIPAddressListResult.mapper
-
1
network_client.deserialize(public_ip_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.delete_public_ip_response
-
1
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
1
class Subnet
-
1
def self.create_subnet_response(network_client)
-
7
body = '{
-
"name":"fog-test-subnet",
-
"id":"/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/fog-test-subnet",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"addressPrefix":"10.1.0.0/24",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"routeTable": { "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/myRT1" },
-
"ipConfigurations":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/lb1/frontendIpConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/gw1/ipConfigurations/ip1"
-
}
-
]
-
}
-
}'
-
7
subnet_mapper = Azure::ARM::Network::Models::Subnet.mapper
-
7
network_client.deserialize(subnet_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_subnets_response(network_client)
-
1
body = '{
-
"value": [{
-
"name":"mysubnet1",
-
"id":"/subscriptions/{guid}/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/mysubnet1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"addressPrefix":"10.1.0.0/24",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"routeTable": {"id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/myRT1" },
-
"ipConfigurations":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/lb1/frontendIpConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/gw1/ipConfigurations/ip1"
-
}
-
]
-
}
-
} ]
-
}'
-
1
subnet_mapper = Azure::ARM::Network::Models::SubnetListResult.mapper
-
1
network_client.deserialize(subnet_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.delete_subnet_response
-
1
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
1
class VirtualNetwork
-
1
def self.create_virtual_network_response(network_client)
-
10
body = '{
-
"name":" fog-test-virtual-network",
-
"id":"/subscriptions/{guid}/resourceGroups/fog-test-rg/providers/Microsoft.Network/virtualNetworks/fog-test-virtual-network",
-
"location":"West US",
-
"tags":{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"FA0F0F1A-158F-4725-ACCE-C7B6D5CD937F",
-
"provisioningState":"Succeeded",
-
"addressSpace":{
-
"addressPrefixes":[
-
"10.1.0.0/16",
-
"10.2.0.0/16"
-
]
-
},
-
"dhcpOptions":{
-
"dnsServers":[
-
"10.1.0.5",
-
"10.1.0.6"
-
]
-
},
-
"subnets":[
-
{
-
"name":"mysubnet1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"addressPrefix":"10.1.0.0/24",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"ipConfigurations":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/lb1/frontendIpConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/gw1/ipConfigurations/ip1"
-
}
-
]
-
}
-
}
-
]
-
}
-
}'
-
10
vnet_mapper = Azure::ARM::Network::Models::VirtualNetwork.mapper
-
10
network_client.deserialize(vnet_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_virtual_networks_response(network_client)
-
1
body = '
-
{
-
"value": [ {
-
"name":" myvnet1",
-
"id":"/subscriptions/{guid}/resourceGroups/mygroup1/providers/Microsoft.Network/virtualNetworks/myvnet1",
-
"location":"North US",
-
"tags":
-
{
-
"key":"value"
-
},
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"resourceGuid":"FA0F0F1A-158F-4725-ACCE-C7B6D5CD937F",
-
"provisioningState":"Succeeded",
-
"addressSpace":{
-
"addressPrefixes":[
-
"10.1.0.0/16",
-
"10.2.0.0/16"
-
]
-
},
-
"dhcpOptions":{
-
"dnsServers":[
-
"10.1.0.5",
-
"10.1.0.6"
-
]
-
},
-
"subnets":[
-
{
-
"name":"mysubnet1",
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysubnet1",
-
"etag":"W/\"00000000-0000-0000-0000-000000000000\"",
-
"properties":{
-
"provisioningState":"Succeeded",
-
"addressPrefix":"10.1.0.0/24",
-
"networkSecurityGroup":{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1"
-
},
-
"ipConfigurations":[
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/vm1nic1/ipConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/lb1/frontendIpConfigurations/ip1"
-
},
-
{
-
"id":"/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/gw1/ipConfigurations/ip1"
-
}
-
]
-
}
-
}
-
]
-
}
-
} ]
-
}'
-
1
vnet_mapper = Azure::ARM::Network::Models::VirtualNetworkListResult.mapper
-
1
network_client.deserialize(vnet_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.delete_virtual_network_response
-
1
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
1
class VirtualNetworkGateway
-
1
def self.create_virtual_network_gateway_response(network_client)
-
3
network_gateway = '{
-
"name": "myvirtualgateway1",
-
"location": "West US",
-
"tags": { "key1": "value1" },
-
"properties": {
-
"gatewayType": "DynamicRouting",
-
"gatewaySize": "Default",
-
"bgpEnabled": true,
-
"vpnClientAddressPool": [ "{vpnClientAddressPoolPrefix}" ],
-
"defaultSites": [ "mysite1" ]
-
}
-
}'
-
3
gateway_mapper = Azure::ARM::Network::Models::VirtualNetworkGateway.mapper
-
3
network_client.deserialize(gateway_mapper, JSON.load(network_gateway), 'result.body')
-
end
-
-
1
def self.list_virtual_network_gateway_response(network_client)
-
1
network_gateway = '{
-
"value": [
-
{
-
"name": "myvirtualgateway1",
-
"location": "West US",
-
"tags": { "key1": "value1" },
-
"properties": {
-
"gatewayType": "DynamicRouting",
-
"gatewaySize": "Default",
-
"bgpEnabled": true,
-
"vpnClientAddressPool": [ "{vpnClientAddressPoolPrefix}" ],
-
"defaultSites": [ "mysite1" ]
-
}
-
}
-
]
-
}'
-
1
gateway_mapper = Azure::ARM::Network::Models::VirtualNetworkGatewayListResult.mapper
-
1
network_client.deserialize(gateway_mapper, JSON.load(network_gateway), 'result.body')
-
end
-
-
1
def self.delete_virtual_network_gateway_response
-
1
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Network
-
# Mock class for Virtual Network Gateway Connection Requests
-
1
class VirtualNetworkGatewayConnection
-
1
def self.create_virtual_network_gateway_connection_response(network_client)
-
4
gateway_connection = '{
-
"name": "cn1",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/connections/connection1",
-
"location": "West US",
-
"tags": { "key1": "value1" },
-
"properties": {
-
"virtualNetworkGateway1": {
-
"name": "firstgateway",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/firstgateway"
-
},
-
"virtualNetworkGateway2": {
-
"name": "secondgateway",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/secondgateway"
-
},
-
"connectionType": "SiteToSite",
-
"connectivityState": "Connected"
-
}
-
}'
-
4
connection_mapper = Azure::ARM::Network::Models::VirtualNetworkGatewayConnection.mapper
-
4
network_client.deserialize(connection_mapper, JSON.load(gateway_connection), 'result.body')
-
end
-
-
1
def self.list_virtual_network_gateway_connection_response(network_client)
-
1
gateway_connection = '{
-
"value": [
-
{
-
"name": "cn1",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/connections/connection1",
-
"location": "West US",
-
"tags": { "key1": "value1" },
-
"properties": {
-
"virtualNetworkGateway1": {
-
"name": "firstgateway",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/firstgateway"
-
},
-
"virtualNetworkGateway2": {
-
"name": "secondgateway",
-
"id": "/subscriptions/{subscription-id}/resourceGroups/{resource_group_name}/providers/microsoft.network/SiteToSite/secondgateway"
-
},
-
"connectionType": "SiteToSite",
-
"connectivityState": "Connected"
-
}
-
}
-
]
-
}'
-
1
connection_mapper = Azure::ARM::Network::Models::VirtualNetworkGatewayConnectionListResult.mapper
-
1
network_client.deserialize(connection_mapper, JSON.load(gateway_connection), 'result.body')
-
end
-
-
1
def self.get_connection_shared_key_response(network_client)
-
1
shared_key = '{ "value": "hello" }'
-
1
shared_key_mapper = Azure::ARM::Network::Models::ConnectionSharedKeyResult.mapper
-
1
network_client.deserialize(shared_key_mapper, JSON.load(shared_key), 'result.body')
-
end
-
-
1
def self.delete_virtual_network_gateway_connection_response
-
MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Resources
-
# Mock class for Deployment Requests
-
1
class Deployment
-
1
def self.create_deployment_response(client)
-
2
ApiStub::Models::Resources::Deployment.create_deployment_response(client)
-
end
-
-
1
def self.list_deployment_response(client)
-
1
deployments = {
-
'value' => [
-
{
-
'id' => '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/microsoft.resources/deployments/fog-test-deployment',
-
'name' => 'fog-test-deployment',
-
'properties' => {
-
'templateLink' => {
-
'uri' => 'https://test.com/template.json',
-
'contentVersion' => '1.0.0.0'
-
},
-
'parametersLink' => {
-
'uri' => 'https://test.com/parameters.json',
-
'contentVersion' => '1.0.0.0'
-
},
-
'parameters' => {
-
'parameter1' => {
-
'type' => 'string',
-
'value' => 'parameter1'
-
}
-
},
-
'mode' => 'Incremental',
-
'provisioningState' => 'Accepted',
-
'timestamp' => '2015-01-01T18:26:20.6229141Z',
-
'correlationId' => 'd5062e45-6e9f-4fd3-a0a0-6b2c56b15757',
-
'outputs' => {
-
'key1' => {
-
'type' => 'string',
-
'value' => 'output1'
-
}
-
},
-
'providers' => [{
-
'namespace' => 'namespace1',
-
'resourceTypes' => [{
-
'resourceType' => 'resourceType1',
-
'locations' => ['westus']
-
}]
-
}],
-
'dependencies' => [{
-
'dependsOn' => [{
-
'id' => 'resourceid1',
-
'resourceType' => 'namespace1/resourcetype1',
-
'resourceName' => 'resourcename1'
-
}],
-
'id' => 'resourceid2',
-
'resourceType' => 'namespace1/resourcetype2',
-
'resourceName' => 'resourcename2'
-
}]
-
}
-
}
-
]
-
}
-
1
result_mapper = Azure::ARM::Resources::Models::DeploymentListResult.mapper
-
1
client.deserialize(result_mapper, deployments, 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Resources
-
# Mock class for Tag Requests
-
1
class AzureResource
-
1
def self.azure_resource_response(client)
-
6
body = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}",
-
"name": "your-resource-name",
-
"type": "providernamespace/resourcetype",
-
"location": "westus",
-
"tags": {
-
"tag_name": "tag_value"
-
},
-
"plan": {
-
"name": "free"
-
}
-
}'
-
6
result_mapper = Azure::ARM::Resources::Models::GenericResource.mapper
-
6
client.deserialize(result_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_tagged_resources_response(client)
-
1
body = '{
-
"value": [ {
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}",
-
"name": "your-resource-name",
-
"type": "providernamespace/resourcetype",
-
"location": "westus",
-
"tags": {
-
"tag_name": "tag_value"
-
},
-
"plan": {
-
"name": "free"
-
}
-
} ],
-
"nextLink": "https://management.azure.com/subscriptions/########-####-####-####-############/resourcegroups?api-version=2015-01-01&$skiptoken=######"
-
}'
-
1
result_mapper = Azure::ARM::Resources::Models::ResourceListResult.mapper
-
1
client.deserialize(result_mapper, JSON.load(body), 'result.body')
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Resources
-
# Mock class for Resource Group Requests
-
1
class ResourceGroup
-
1
def self.create_resource_group_response(client)
-
3
body = '{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg",
-
"name": "fog-test-rg",
-
"location": "westus",
-
"tags": {
-
"tagname1": "tagvalue1"
-
},
-
"properties": {
-
"provisioning_state": "Succeeded"
-
}
-
}'
-
3
result_mapper = Azure::ARM::Resources::Models::ResourceGroup.mapper
-
3
client.deserialize(result_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_resource_group_response(client)
-
1
body = '{
-
"value": [ {
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg",
-
"name": "fog-test-rg",
-
"location": "westus",
-
"tags": {
-
"tagname1": "tagvalue1"
-
},
-
"properties": {
-
"provisioning_state": "Succeeded"
-
}
-
} ],
-
"nextLink": "https://management.azure.com/subscriptions/########-####-####-####-############/resourcegroups?api-version=2015-01-01&$skiptoken=######"
-
}'
-
1
result_mapper = Azure::ARM::Resources::Models::ResourceGroupListResult.mapper
-
1
client.deserialize(result_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_resource_groups_for_zones
-
resource_group = ::Azure::ARM::Resources::Models::ResourceGroup.new
-
resource_group.id = '/subscriptions/########-####-####-####-############/resourceGroups/fog-test-resource-group'
-
resource_group.name = 'fog-test-resource-group'
-
resource_group.location = 'West US'
-
[resource_group]
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Sql
-
# Mock class for Database
-
1
class SqlDatabase
-
1
def self.create_database_response
-
'{
-
"name" : "{database-name}",
-
"server_name" : "{server-name}",
-
"location" : "{database-location}",
-
"properties" : {
-
"createMode" : "{creation-mode}",
-
"sourceDatabaseId" : "{source-database-id}",
-
"edition" : "{database-edition}",
-
"collation" : "{collation-name}",
-
"maxSizeBytes" : "{max-database-size}",
-
"requestedServiceObjectiveId" : "{requested-service-id}",
-
"requestedServiceObjectiveName" : "{requested-service-id}",
-
"restorePointInTime" : "{restore-time}",
-
"sourceDatabaseDeletionDate" : "{source-deletion-date}",
-
"elasticPoolName" : "{elastic-pool-name}"
-
}
-
2
}'
-
end
-
-
1
def self.list_database_response
-
'{
-
"value": [{
-
"name" : "{database-name}",
-
"server_name" : "{server-name}",
-
"location" : "{database-location}",
-
"properties" : {
-
"createMode" : "{creation-mode}",
-
"sourceDatabaseId" : "{source-database-id}",
-
"edition" : "{database-edition}",
-
"collation" : "{collation-name}",
-
"maxSizeBytes" : "{max-database-size}",
-
"requestedServiceObjectiveId" : "{requested-service-id}",
-
"requestedServiceObjectiveName" : "{requested-service-id}",
-
"restorePointInTime" : "{restore-time}",
-
"sourceDatabaseDeletionDate" : "{source-deletion-date}",
-
"elasticPoolName" : "{elastic-pool-name}"
-
}
-
}]
-
1
}'
-
end
-
-
1
def self.database_hash
-
{
-
resource_group: 'resource_group',
-
server_name: 'server_name',
-
name: 'name',
-
location: 'location',
-
create_mode: 'create_mode',
-
edition: 'edition',
-
source_database_id: 'source_database_id',
-
collation: 'collation',
-
max_size_bytes: 'max_size_bytes',
-
requested_service_objective_name: 'requested_service_objective_name',
-
restore_point_in_time: 'restore_point_in_time',
-
source_database_deletion_date: 'source_database_deletion_date',
-
elastic_pool_name: 'elastic_pool_name',
-
requested_service_objective_id: 'requested_service_objective_id'
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Sql
-
# Mock class for Firewall Rule
-
1
class FirewallRule
-
1
def self.create_firewall_rule_response
-
'{
-
"id": "{uri-of-firewall-rule}",
-
"name": "{rule-name}",
-
"type": "{rule-type}",
-
"location": "{server-location}",
-
"properties": {
-
"startIpAddress": "{start-ip-address}",
-
"endIpAddress": "{end-ip-address}"
-
}
-
2
}'
-
end
-
-
1
def self.list_firewall_rule_response
-
'{
-
"value": [{
-
"id": "{uri-of-firewall-rule}",
-
"name": "{rule-name}",
-
"type": "{rule-type}",
-
"location": "{server-location}",
-
"properties": {
-
"startIpAddress": "{start-ip-address}",
-
"endIpAddress": "{end-ip-address}"
-
}
-
}]
-
1
}'
-
end
-
-
1
def self.firewall_rule_hash
-
{
-
resource_group: 'resource_group',
-
server_name: 'server_name',
-
name: 'firewall_name',
-
start_ip: '10.10.10.01',
-
end_ip: '10.10.10.10'
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Sql
-
# Mock class for Sql Server
-
1
class SqlServer
-
1
def self.create_sql_server_response
-
'{
-
"location" : "{server-location}",
-
"properties" : {
-
"version" : "{server-version}",
-
"administratorLogin" : "{admin-name}",
-
"administratorLoginPassword" : "{admin-password}"
-
}
-
2
}'
-
end
-
-
1
def self.list_sql_server_response
-
'{
-
"value": [{
-
"name" : "{database-name}",
-
"server_name" : "{server-name}",
-
"location" : "{database-location}",
-
"properties" : {
-
"version" : "{server-version}",
-
"administratorLogin" : "{admin-name}",
-
"administratorLoginPassword" : "{admin-password}"
-
}
-
}]
-
1
}'
-
end
-
-
1
def self.sql_server_hash
-
{
-
resource_group: 'resource_group',
-
name: 'name',
-
version: 'version',
-
location: 'location',
-
administrator_login: 'administrator_login',
-
administrator_login_password: 'administrator_login_password'
-
1
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Storage
-
# Mock class for Deployment Requests
-
1
class Directory
-
1
def self.test_get_container_metadata
-
1
container = Azure::Storage::Blob::Container::Container.new
-
1
container.name = 'test-container'
-
1
container.metadata = metadata_response
-
1
container
-
end
-
-
1
def self.metadata_response
-
{
-
'container-name' => 'Test-container',
-
'created-by' => 'User',
-
'source-machine' => 'Test-machine',
-
'category' => 'guidance',
-
'doctype' => 'textDocuments'
-
3
}
-
end
-
-
1
def self.create_container
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D'
-
}
-
4
}
-
end
-
-
1
def self.list_containers
-
[
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
2
},
-
{
-
'name' => 'testcontainer2',
-
'properties' =>
-
{
-
'last_modified' => 'Tue, 04 Aug 2015 06:01:08 GMT',
-
'etag' => '0x8D29C92176C8352',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
},
-
{
-
'name' => 'testcontainer3',
-
'properties' =>
-
{
-
'last_modified' => 'Tue, 01 Sep 2015 05:15:36 GMT',
-
'etag' => '0x8D2B28C5EB36458',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
}
-
]
-
end
-
-
1
def self.get_container_properties
-
{
-
'name' => 'testcontainer1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available'
-
},
-
'metadata' => {}
-
4
}
-
end
-
-
1
def self.get_container_access_control_list
-
[{
-
'name' => 'testcontainer1',
-
'public_access_level' => 'blob'
-
4
}, {}]
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Storage
-
# Mock class for Deployment Requests
-
1
class File
-
1
def self.test_get_blob_metadata
-
1
container = Azure::Storage::Blob::Blob.new
-
1
container.name = 'Test-blob'
-
1
container.metadata = metadata_response
-
1
container
-
end
-
-
1
def self.metadata_response
-
{
-
'container-name' => 'Test-container',
-
'blob-name' => 'Test-blob',
-
'category' => 'Images',
-
'resolution' => 'High'
-
3
}
-
end
-
-
1
def self.get_blob_properties
-
{
-
'name' => 'testblob1',
-
'snapshot' => nil,
-
'metadata' => {},
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 09:30:31 GMT',
-
'etag' => '0x8D3A3EDD7C2B777',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '095adc3b-e277-4c3d-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/4m?snapshot=2016-02-04T08%3A35%3A50.3157696Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:35:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
5
}
-
end
-
-
1
def self.upload_block_blob_from_file
-
{
-
'name' => 'testblob1',
-
'properties' =>
-
{
-
'last_modified' => 'Thu, 28 Jul 2016 06:53:05 GMT',
-
'etag' => '0x8D3B6B3D353FFCA',
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw=='
-
}
-
3
}
-
end
-
-
1
def self.download_blob_to_file
-
{
-
'name' => 'testblob1',
-
'metadata' => {},
-
'properties' =>
-
{
-
'last_modified' => 'Thu, 28 Jul 2016 06:53:05 GMT',
-
'etag' => '0x8D3B6B3D353FFCA',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'lease_duration' => nil,
-
'content_length' => 4_194_304,
-
'content_type' => 'application/atom+xml; charset=utf-8',
-
'content_encoding' => 'ASCII-8BIT',
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'blob_type' => 'BlockBlob',
-
'copy_id' => nil,
-
'copy_status' => nil,
-
'copy_source' => nil,
-
'copy_progress' => nil,
-
'copy_completion_time' => nil,
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
}
-
2
}
-
end
-
-
1
def self.copy_blob
-
{
-
'copyId' => 'abc123',
-
'copyStatus' => 'pending'
-
2
}
-
end
-
-
1
def self.list_blobs_response
-
[
-
{
-
'name' => 'testblob1',
-
'properties' =>
-
{
-
'last_modified' => 'Mon, 04 Jul 2016 02:50:20 GMT',
-
'etag' => '0x8D3A3B5F017F52D',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '095adc3b-e277-4c3d-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/testblob1?snapshot=2016-02-04T08%3A35%3A50.3256874Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:35:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
},
-
'metadata' => {}
-
3
},
-
{
-
'name' => 'testblob2',
-
'properties' =>
-
{
-
'last_modified' => 'Tue, 04 Aug 2015 06:02:08 GMT',
-
'etag' => '0x8D29C92173526C8',
-
'lease_status' => 'unlocked',
-
'lease_state' => 'available',
-
'content_length' => 4_194_304,
-
'content_type' => 'application/octet-stream',
-
'content_encoding' => nil,
-
'content_language' => nil,
-
'content_disposition' => nil,
-
'content_md5' => 'tXAohIyxuu/t94Lp/ujeRw==',
-
'cache_control' => nil,
-
'sequence_number' => 0,
-
'blob_type' => 'PageBlob',
-
'copy_id' => '0abcdc3b-4c3d-e277-97e0-0abca881f60c',
-
'copy_status' => 'success',
-
'copy_source' => 'https://testaccount.blob.core.windows.net/testblob/testblob2?snapshot=2016-02-04T08%3A35%3A55.3157696Z',
-
'copy_progress' => '4194304/4194304',
-
'copy_completion_time' => 'Thu, 04 Feb 2016 08:40:52 GMT',
-
'copy_status_description' => nil,
-
'accept_ranges' => 0
-
},
-
'metadata' => {}
-
}
-
]
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Storage
-
# Mock class for RecoveryVault request
-
1
class RecoveryVault
-
1
def self.create_recovery_vault_response
-
'{
-
"location": "westus",
-
"name": "fog-test-vault",
-
"properties": {
-
"provisioningState": "Succeeded"
-
},
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault",
-
"type": "Microsoft.RecoveryServices\/vaults",
-
"sku": {
-
"name": "standard"
-
}
-
1
}'
-
end
-
-
1
def self.get_recovery_vault_response
-
'{
-
"value": [{
-
"location": "westus",
-
"name": "fog-test-vault",
-
"properties": {
-
"provisioningState": "Succeeded"
-
},
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault",
-
"type": "Microsoft.RecoveryServices/vaults",
-
"sku": {
-
"name": "standard"
-
}
-
}]
-
2
}'
-
end
-
-
1
def self.get_all_backup_jobs_response
-
'{
-
"value": [{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupJobs/########-####-####-####-############",
-
"name": "########-####-####-####-############",
-
"type": "Microsoft.RecoveryServices/vaults/backupJobs",
-
"properties": {
-
"jobType": "AzureIaaSVMJob",
-
"duration": "XX:XX:XX.XXXXXXX",
-
"actionsInfo": [
-
1
-
],
-
"virtualMachineVersion": "Compute",
-
"entityFriendlyName": "fog-test-vm",
-
"backupManagementType": "AzureIaasVM",
-
"operation": "Backup",
-
"status": "InProgress",
-
"startTime": "2016-10-19T07:49:31.1466534Z",
-
"activityId": "########-####-####-####-############"
-
}
-
}]
-
3
}'
-
end
-
-
1
def self.get_backup_container_response
-
'{
-
"value": [{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;fog-test-vm-rg;fog-test-vm",
-
"name": "IaasVMContainer;iaasvmcontainerv2;fog-test-vm-rg;fog-test-vm",
-
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
-
"properties": {
-
"virtualMachineId": "/subscriptions/########-####-####-####-############/resourceGroups/TestRG/providers/Microsoft.Compute/virtualMachines/TestVM",
-
"virtualMachineVersion": "Compute",
-
"resourceGroup": "fog-test-vm-rg",
-
"friendlyName": "fog-test-vm",
-
"backupManagementType": "AzureIaasVM",
-
"registrationStatus": "Registered",
-
"healthStatus": "Healthy",
-
"containerType": "Microsoft.Compute/virtualMachines",
-
"protectableObjectType": "Microsoft.Compute/virtualMachines"
-
}
-
}]
-
1
}'
-
end
-
-
1
def self.get_backup_item_response
-
'{
-
"value": [{
-
"id": "/Subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testrg;testvm/protectedItems/VM;fog-test-container-name",
-
"name": "iaasvmcontainerv2;fog-test-vm-rg;fog-test-vm",
-
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
-
"properties": {
-
"friendlyName": "fog-test-vm",
-
"virtualMachineId": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-vm-rg/providers/Microsoft.Compute/virtualMachines/fog-test-vm",
-
"protectionStatus": "Healthy",
-
"protectionState": "Protected",
-
"lastBackupStatus": "Completed",
-
"lastBackupTime": "2016-10-17T10:30:47.2289274Z",
-
"protectedItemType": "Microsoft.Compute/virtualMachines",
-
"backupManagementType": "AzureIaasVM",
-
"workloadType": "VM",
-
"containerName": "iaasvmcontainerv2;fog-test-vm-rg;fog-test-vm",
-
"sourceResourceId": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-vm-rg/providers/Microsoft.Compute/virtualMachines/fog-test-vm",
-
"policyId": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupPolicies/DefaultPolicy",
-
"policyName": "DefaultPolicy",
-
"lastRecoveryPoint": "2016-10-17T10:32:38.4666692Z"
-
}
-
}]
-
4
}'
-
end
-
-
1
def self.list_recovery_vault_response
-
'{
-
"value": [{
-
"location": "westus",
-
"name": "fog-test-vault",
-
"properties": {
-
"provisioningState": "Succeeded"
-
},
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-vault/providers/Microsoft.RecoveryServices/vaults/fog-test-vault",
-
"type": "Microsoft.RecoveryServices/vaults",
-
"sku": {
-
"name": "standard"
-
}
-
}]
-
}'
-
end
-
-
1
def self.get_backup_protection_policy_response
-
'{
-
"value": [{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupPolicies/DefaultPolicy",
-
"name": "DefaultPolicy",
-
"type": "Microsoft.RecoveryServices/vaults/backupPolicies",
-
"properties": {
-
"backupManagementType": "AzureIaasVM",
-
"schedulePolicy": {
-
"schedulePolicyType": "SimpleSchedulePolicy",
-
"scheduleRunFrequency": "Daily",
-
"scheduleRunTimes": [
-
"2016-10-13T19:30:00Z"
-
],
-
"scheduleWeeklyFrequency": 0
-
},
-
"retentionPolicy": {
-
"retentionPolicyType": "LongTermRetentionPolicy",
-
"dailySchedule": {
-
"retentionTimes": [
-
"2016-10-13T19:30:00Z"
-
],
-
"retentionDuration": {
-
"count": 30,
-
"durationType": "Days"
-
}
-
}
-
},
-
"protectedItemsCount": 0
-
}
-
}]
-
5
}'
-
end
-
-
1
def self.get_backup_job_for_vm_response
-
'{
-
"id": "/subscriptions/########-####-####-####-############/resourceGroups/fog-test-rg/providers/Microsoft.RecoveryServices/vaults/fog-test-vault/backupJobs/########-####-####-####-############",
-
"name": "########-####-####-####-############",
-
"type": "Microsoft.RecoveryServices/vaults/backupJobs",
-
"properties": {
-
"jobType": "AzureIaaSVMJob",
-
"duration": "00:00:52.3309441",
-
"virtualMachineVersion": "Compute",
-
"extendedInfo": {
-
"tasksList": [],
-
"propertyBag": {
-
"VM Name": "fog-test-vm",
-
"Policy Name": "DefaultPolicy"
-
}
-
},
-
"entityFriendlyName": "fog-test-vm",
-
"backupManagementType": "AzureIaasVM",
-
"operation": "ConfigureBackup",
-
"status": "Completed",
-
"startTime": "2016-10-13T09:55:49.1168243Z",
-
"endTime": "2016-10-13T09:56:41.4477684Z",
-
"activityId": "383f05d9-a4bf-4b95-bb41-d39849b3a86e-2016-10-13 09:55:53Z-PS"
-
}
-
1
}'
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module Storage
-
# Mock class for Storage Requests
-
1
class StorageAccount
-
1
def self.storage_account_request(storage_mgmt_client)
-
7
storage_account_hash = {
-
'id' => '/subscriptions/67f2116d-4ea2-4c6c-b20a-f92183dbe3cb/resourceGroups/fog_test_rg/providers/Microsoft.Storage/storageAccounts/fogtestsasecond',
-
'name' => 'fog-test-storage-account',
-
'location' => 'west us',
-
'sku' =>
-
{
-
'name' => 'Standard_LRS'
-
}
-
}
-
7
storage_account_mapper = Azure::ARM::Storage::Models::StorageAccount.mapper
-
7
storage_mgmt_client.deserialize(storage_account_mapper, storage_account_hash, 'hash')
-
end
-
-
1
def self.create_storage_account
-
storage_acc_obj = Azure::ARM::Storage::Models::StorageAccount.new
-
storage_acc_obj.id = '1'
-
storage_acc_obj.name = 'fog_test_storage_account'
-
storage_acc_obj.type = nil
-
storage_acc_obj.location = 'west us'
-
storage_acc_obj.tags = nil
-
storage_acc_obj.properties = nil
-
storage_acc_obj
-
end
-
-
1
def self.storage_account_arguments
-
{
-
resource_group: 'gateway-RG',
-
name: 'fog_test_storage_account',
-
sku_name: 'Standard',
-
location: 'West US',
-
replication: 'LRS',
-
encryption: true
-
6
}
-
end
-
-
1
def self.list_storage_accounts_for_rg(storage_mgmt_client)
-
2
list_storage_accounts_hash = {
-
'value' =>
-
[
-
{
-
'id' => '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}',
-
'name' => 'accountName1',
-
'location' => 'account geo region',
-
'tags' =>
-
{
-
'key1' => 'value1',
-
'key2' => 'value2'
-
},
-
'type' => 'Microsoft.Storage/StorageAccount',
-
'properties' =>
-
{
-
'lastGeoFailoverTime' => '',
-
'creationTime' => '2016-05-18T07:24:40Z'
-
}
-
}
-
]
-
}
-
2
storage_account_list_mapper = Azure::ARM::Storage::Models::StorageAccountListResult.mapper
-
2
storage_mgmt_client.deserialize(storage_account_list_mapper, list_storage_accounts_hash, 'hash')
-
end
-
-
1
def self.list_storage_accounts(storage_mgmt_client)
-
2
list_storage_accounts_hash = {
-
'value' =>
-
[
-
{
-
'id' => '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}',
-
'name' => 'accountName1',
-
'type' => 'Microsoft.Storage/StorageAccount',
-
'location' => 'account geo region',
-
'tags' =>
-
{
-
'key1' => 'value1',
-
'key2' => 'value2'
-
},
-
'properties' =>
-
{
-
'lastGeoFailoverTime' => '',
-
'creationTime' => '2016-05-18T07:24:40Z'
-
}
-
}
-
]
-
}
-
2
storage_account_list_mapper = Azure::ARM::Storage::Models::StorageAccountListResult.mapper
-
2
storage_mgmt_client.deserialize(storage_account_list_mapper, list_storage_accounts_hash, 'hash')
-
end
-
-
1
def self.true_case_for_check_name_availability(storage_mgmt_client)
-
1
check_name_availability_hash = {
-
'nameAvailable' => true,
-
'reason' => 'AccountNameInvalid|AlreadyExists',
-
'message' => 'error message'
-
}
-
1
storage_account_check_name_avaiablability_mapper = Azure::ARM::Storage::Models::CheckNameAvailabilityResult.mapper
-
1
storage_mgmt_client.deserialize(storage_account_check_name_avaiablability_mapper, check_name_availability_hash, 'hash')
-
end
-
-
1
def self.false_case_for_check_name_availability(storage_mgmt_client)
-
1
check_name_availability_hash = {
-
'nameAvailable' => false,
-
'reason' => 'AccountNameInvalid|AlreadyExists',
-
'message' => 'error message'
-
}
-
1
storage_account_check_name_avaiablability_mapper = Azure::ARM::Storage::Models::CheckNameAvailabilityResult.mapper
-
1
storage_mgmt_client.deserialize(storage_account_check_name_avaiablability_mapper, check_name_availability_hash, 'hash')
-
end
-
-
1
def self.list_keys_response
-
7
key1 = Azure::ARM::Storage::Models::StorageAccountKey.new
-
7
key1.key_name = 'key1'
-
7
key1.value = 'sfhyuiafhhfids0943'
-
7
key1.permissions = 'Full'
-
7
storage_account_key_list = Azure::ARM::Storage::Models::StorageAccountListKeysResult.new
-
7
storage_account_key_list.keys = [key1]
-
7
storage_account_key_list
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module TrafficManager
-
# Mock class for raffic Manager End Point Requests
-
1
class TrafficManagerEndPoint
-
1
def self.create_traffic_manager_endpoint_response(traffic_manager_client)
-
4
body = '{
-
"id": "/subscriptions/######/resourceGroups/fog-test-rg/providers/Microsoft.Network/trafficManagerProfiles/fog-test-profile/externalEndpoints/fog-test-end-point?api-version=2015-11-01",
-
"name": "fog-test-end-point",
-
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"target": "test.com",
-
"weight": 10,
-
"priority": 5,
-
"endpointLocation": "northeurope"
-
}
-
}'
-
4
endpoint_mapper = Azure::ARM::TrafficManager::Models::Endpoint.mapper
-
4
traffic_manager_client.deserialize(endpoint_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.endpoint_hash
-
{
-
resource_group: 'resource-group',
-
name: 'name',
-
traffic_manager_profile_name: 'traffic_manager_profile_name',
-
type: 'type',
-
target_resource_id: 'target_resource_id',
-
target: 'target',
-
weight: 'weight',
-
priority: 'priority',
-
endpoint_location: 'endpoint_location',
-
min_child_endpoints: 'min_child_endpoints'
-
3
}
-
end
-
end
-
end
-
end
-
end
-
1
module ApiStub
-
1
module Requests
-
1
module TrafficManager
-
# Mock class for Traffic Manager Profile Requests
-
1
class TrafficManagerProfile
-
1
def self.create_traffic_manager_profile_response(traffic_manager_client)
-
4
body = '{
-
"location": "global",
-
"tags": {},
-
"id": "/subscriptions/###/resourceGroups/fog-test-rg/Microsoft.Network/trafficManagerProfiles/fog-test-profile",
-
"name": "fog-test-profile",
-
"type": "Microsoft.Network/trafficManagerProfiles",
-
"properties": {
-
"profileStatus": "Enabled",
-
"trafficRoutingMethod": "Performance",
-
"dnsConfig": {
-
"relativeName": "fog-test-app",
-
"fqdn": "myapp.trafficmanager.net",
-
"ttl": 30
-
},
-
"monitorConfig": {
-
"profileMonitorStatus": "Online",
-
"protocol": "http",
-
"port": 80,
-
"path": "/monitorpage.aspx"
-
},
-
"endpoints": [{
-
"id": "{ARM resource ID of this endpoint}",
-
"name": "{endpoint-name}",
-
"type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"targetResourceId": "{resource ID of target resource in Azure}",
-
"target": "myapp.azurewebsites.net",
-
"weight": 10,
-
"priority": 3,
-
"endpointLocation": "centralus"
-
}
-
}, {
-
"id": "{ARM resource ID of this endpoint}",
-
"name": "{endpoint-name}",
-
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"target": "myendpoint.contoso.com",
-
"weight": 10,
-
"priority": 5,
-
"endpointLocation": "northeurope"
-
}
-
}, {
-
"id": "{ARM resource ID of this endpoint}",
-
"name": "{endpoint-name}",
-
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"targetResourceId": "{resource ID of child Traffic Manager profile}",
-
"weight": 10,
-
"priority": 1,
-
"endpointLocation": "westeurope",
-
"minChildEndpoints": 1
-
}
-
}]
-
}
-
}'
-
4
profile_mapper = Azure::ARM::TrafficManager::Models::Profile.mapper
-
4
traffic_manager_client.deserialize(profile_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.list_traffic_manager_profiles_response(traffic_manager_client)
-
1
body = '{
-
"values": [{
-
"location": "global",
-
"tags": {},
-
"id": "/subscriptions/###/resourceGroups/fog-test-rg/Microsoft.Network/trafficManagerProfiles/fog-test-profile",
-
"name": "fog-test-profile",
-
"type": "Microsoft.Network/trafficManagerProfiles",
-
"properties": {
-
"profileStatus": "Enabled",
-
"trafficRoutingMethod": "Performance",
-
"dnsConfig": {
-
"relativeName": "fog-test-app",
-
"fqdn": "myapp.trafficmanager.net",
-
"ttl": 30
-
},
-
"monitorConfig": {
-
"profileMonitorStatus": "Online",
-
"protocol": "http",
-
"port": 80,
-
"path": "/monitorpage.aspx"
-
},
-
"endpoints": [{
-
"id": "{ARM resource ID of this endpoint}",
-
"name": "{endpoint-name}",
-
"type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"targetResourceId": "{resource ID of target resource in Azure}",
-
"target": "myapp.azurewebsites.net",
-
"weight": 10,
-
"priority": 3,
-
"endpointLocation": "centralus"
-
}
-
}, {
-
"id": "{ARM resource ID of this endpoint}",
-
"name": "{endpoint-name}",
-
"type": "Microsoft.Network/trafficManagerProfiles/externalEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"target": "myendpoint.contoso.com",
-
"weight": 10,
-
"priority": 5,
-
"endpointLocation": "northeurope"
-
}
-
}, {
-
"id": "{ARM resource ID of this endpoint}",
-
"name": "{endpoint-name}",
-
"type": "Microsoft.Network/trafficManagerProfiles/nestedEndpoints",
-
"properties": {
-
"endpointStatus": "Enabled",
-
"endpointMonitorStatus": "Online",
-
"targetResourceId": "{resource ID of child Traffic Manager profile}",
-
"weight": 10,
-
"priority": 1,
-
"endpointLocation": "westeurope",
-
"minChildEndpoints": 1
-
}
-
}]
-
}
-
}]
-
}'
-
1
profile_mapper = Azure::ARM::TrafficManager::Models::ProfileListResult.mapper
-
1
traffic_manager_client.deserialize(profile_mapper, JSON.load(body), 'result.body')
-
end
-
-
1
def self.profile_hash
-
{
-
resource_group: 'resource_group',
-
name: 'name',
-
traffic_routing_method: 'traffic_routing_method',
-
relative_name: 'relative_name',
-
ttl: 'ttl',
-
protocol: 'protocol',
-
port: 'port',
-
path: 'path'
-
4
}
-
end
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ApplicationGateway Model
-
1
class TestGateway < Minitest::Test
-
1
def setup
-
14
@service = Fog::ApplicationGateway::AzureRM.new(credentials)
-
14
@gateway = gateway(@service)
-
14
@gateway_client = @service.instance_variable_get(:@network_client)
-
14
@response = ApiStub::Models::ApplicationGateway::Gateway.create_application_gateway_response(@gateway_client)
-
14
gateways = Fog::ApplicationGateway::AzureRM::Gateways.new(resource_group: 'fog-test-rg', service: @service)
-
14
@service.stub :get_application_gateway, @response do
-
14
@gateway_obj = gateways.get('fog-test-rg', 'gateway')
-
end
-
14
@ssl_certifcate = ApiStub::Models::ApplicationGateway::Gateway.ssl_certifcate
-
14
@frontend_port = ApiStub::Models::ApplicationGateway::Gateway.frontend_port
-
14
@probe = ApiStub::Models::ApplicationGateway::Gateway.probe
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy,
-
:update_sku,
-
:update_gateway_ip_configuration,
-
:add_ssl_certificate,
-
:remove_ssl_certificate,
-
:add_frontend_port,
-
:remove_frontend_port,
-
:add_probe,
-
:remove_probe,
-
:start,
-
:stop
-
]
-
1
methods.each do |method|
-
12
assert_respond_to @gateway, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:location,
-
:resource_group,
-
:sku_name,
-
:sku_tier,
-
:sku_capacity,
-
:gateway_ip_configurations,
-
:ssl_certificates,
-
:frontend_ip_configurations,
-
:frontend_ports,
-
:probes,
-
:backend_address_pools,
-
:backend_http_settings_list,
-
:http_listeners,
-
:url_path_maps,
-
:request_routing_rules
-
]
-
1
attributes.each do |attribute|
-
16
assert_respond_to @gateway, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_application_gateway, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway.save
-
end
-
end
-
-
1
def test_update_sku
-
1
@service.stub :update_sku_attributes, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway_obj.update_sku('Standard_Medium', '2')
-
end
-
end
-
-
1
def test_update_gateway_ip_configuration
-
1
@service.stub :update_subnet_id_in_gateway_ip_configuration, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway_obj.update_gateway_ip_configuration('/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet')
-
end
-
end
-
-
1
def test_add_ssl_certificate
-
1
@service.stub :create_or_update_application_gateway, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway_obj.add_ssl_certificate(@ssl_certifcate)
-
end
-
end
-
-
1
def test_remove_ssl_certificate
-
1
@service.stub :create_or_update_application_gateway, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway_obj.remove_ssl_certificate(@ssl_certifcate)
-
end
-
end
-
-
1
def test_add_frontend_port
-
1
@service.stub :create_or_update_application_gateway, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway_obj.add_frontend_port(@frontend_port)
-
end
-
end
-
-
1
def test_remove_frontend_port
-
1
@service.stub :create_or_update_application_gateway, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway_obj.remove_frontend_port(@frontend_port)
-
end
-
end
-
-
1
def test_add_probe
-
1
@service.stub :create_or_update_application_gateway, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway_obj.add_probe(@probe)
-
end
-
end
-
-
1
def test_remove_probe
-
1
@service.stub :create_or_update_application_gateway, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateway_obj.remove_probe(@probe)
-
end
-
end
-
-
1
def test_start_method_response
-
1
@service.stub :start_application_gateway, true do
-
1
assert_equal true, @gateway_obj.start
-
end
-
end
-
-
1
def test_stop_method_response
-
1
@service.stub :stop_application_gateway, true do
-
1
assert_equal true, @gateway_obj.stop
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_application_gateway, true do
-
1
assert @gateway.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ApplicationGateway Collection
-
1
class TestGateways < Minitest::Test
-
1
def setup
-
4
@service = Fog::ApplicationGateway::AzureRM.new(credentials)
-
4
@gateways = Fog::ApplicationGateway::AzureRM::Gateways.new(resource_group: 'fog-test-rg', service: @service)
-
4
@gateway_client = @service.instance_variable_get(:@network_client)
-
4
@response = ApiStub::Models::ApplicationGateway::Gateway.create_application_gateway_response(@gateway_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @gateways, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @gateways, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
response = [@response]
-
1
@service.stub :list_application_gateways, response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateways, @gateways.all
-
1
assert @gateways.all.size >= 1
-
1
@gateways.all.each do |application_gateway|
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, application_gateway
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_application_gateway, @response do
-
1
assert_instance_of Fog::ApplicationGateway::AzureRM::Gateway, @gateways.get('fog-test-rg', 'gateway')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Availability Set Model
-
1
class TestAvailabilitySet < Minitest::Test
-
1
def setup
-
5
@service = Fog::Compute::AzureRM.new(credentials)
-
5
@availability_set = availability_set(@service)
-
5
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
5
@response = ApiStub::Models::Compute::AvailabilitySet.create_availability_set_response(compute_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @availability_set, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:id,
-
:name,
-
:type,
-
:location,
-
:resource_group,
-
:platform_update_domain_count,
-
:platform_fault_domain_count
-
]
-
1
attributes.each do |attribute|
-
7
assert_respond_to @availability_set, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_availability_set, @response do
-
1
assert_instance_of Fog::Compute::AzureRM::AvailabilitySet, @availability_set.save
-
end
-
end
-
-
1
def test_destroy_method_true_response
-
1
@service.stub :delete_availability_set, true do
-
1
assert @availability_set.destroy
-
end
-
end
-
-
1
def test_destroy_method_false_response
-
1
@service.stub :delete_availability_set, false do
-
1
assert !@availability_set.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Availability Set Collection
-
1
class TestAvailabilitySets < Minitest::Test
-
1
def setup
-
4
@service = Fog::Compute::AzureRM.new(credentials)
-
4
@availability_sets = Fog::Compute::AzureRM::AvailabilitySets.new(resource_group: 'fog-test-rg', service: @service)
-
4
client = @service.instance_variable_get(:@compute_mgmt_client)
-
4
@availability_set_list = [ApiStub::Models::Compute::AvailabilitySet.list_availability_set_response(client)]
-
4
@availability_set = ApiStub::Models::Compute::AvailabilitySet.get_availability_set_response(client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @availability_sets, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @availability_sets, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_availability_sets, @availability_set_list do
-
1
assert_instance_of Fog::Compute::AzureRM::AvailabilitySets, @availability_sets.all
-
1
assert @availability_sets.all.size >= 1
-
1
@availability_sets.all.each do |s|
-
1
assert_instance_of Fog::Compute::AzureRM::AvailabilitySet, s
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_availability_set, @availability_set do
-
1
assert_instance_of Fog::Compute::AzureRM::AvailabilitySet, @availability_sets.get('fog-test-rg', 'fog-test-availability-set')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Server Model
-
1
class TestServer < Minitest::Test
-
1
def setup
-
15
@service = Fog::Compute::AzureRM.new(credentials)
-
15
@server = server(@service)
-
15
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy,
-
:generalize,
-
:power_off,
-
:start,
-
:restart,
-
:deallocate,
-
:redeploy,
-
:list_available_sizes,
-
:attach_data_disk,
-
:detach_data_disk
-
]
-
1
methods.each do |method|
-
11
assert_respond_to @server, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:id,
-
:name,
-
:location,
-
:resource_group,
-
:vm_size,
-
:storage_account_name,
-
:os_disk_name,
-
:os_disk_vhd_uri,
-
:publisher,
-
:offer,
-
:sku,
-
:version,
-
:username,
-
:password,
-
:data_disks,
-
:disable_password_authentication,
-
:ssh_key_path,
-
:ssh_key_data,
-
:platform,
-
:provision_vm_agent,
-
:enable_automatic_updates,
-
:network_interface_card_id,
-
:availability_set_id
-
]
-
1
attributes.each do |attribute|
-
23
assert_respond_to @server, attribute
-
end
-
end
-
-
1
def test_save_method_response_for_linux_vm
-
1
response = ApiStub::Models::Compute::Server.create_linux_virtual_machine_response(@compute_client)
-
1
@service.stub :create_virtual_machine, response do
-
1
assert_instance_of Fog::Compute::AzureRM::Server, @server.save
-
end
-
end
-
-
1
def test_save_method_response_for_windows_vm
-
1
response = ApiStub::Models::Compute::Server.create_windows_virtual_machine_response(@compute_client)
-
1
@service.stub :create_virtual_machine, response do
-
1
assert_instance_of Fog::Compute::AzureRM::Server, @server.save
-
1
refute @server.save.disable_password_authentication
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_virtual_machine, true do
-
1
assert @server.destroy
-
end
-
end
-
-
1
def test_generalize_method_response
-
1
@service.stub :generalize_virtual_machine, true do
-
1
assert @server.generalize
-
end
-
end
-
-
1
def test_power_off_method_response
-
1
@service.stub :power_off_virtual_machine, true do
-
1
assert @server.power_off
-
end
-
end
-
-
1
def test_start_method_response
-
1
@service.stub :start_virtual_machine, true do
-
1
assert @server.start
-
end
-
end
-
-
1
def test_restart_method_response
-
1
@service.stub :restart_virtual_machine, true do
-
1
assert @server.restart
-
end
-
end
-
-
1
def test_deallocate_method_response
-
1
@service.stub :deallocate_virtual_machine, true do
-
1
assert @server.deallocate
-
end
-
end
-
-
1
def test_redeploy_method_response
-
1
@service.stub :redeploy_virtual_machine, true do
-
1
assert @server.redeploy
-
end
-
end
-
-
1
def test_vm_status_method_response
-
1
@service.stub :check_vm_status, 'running' do
-
1
assert_equal @server.vm_status, 'running'
-
end
-
end
-
-
1
def test_list_available_sizes_method_response
-
1
response = ApiStub::Models::Compute::Server.list_available_sizes_for_virtual_machine_response(@compute_client)
-
1
@service.stub :list_available_sizes_for_virtual_machine, response do
-
1
assert_instance_of Array, @server.list_available_sizes
-
end
-
end
-
-
1
def test_attach_data_disk_response
-
1
response = ApiStub::Models::Compute::Server.attach_data_disk_response(@compute_client)
-
1
@service.stub :attach_data_disk_to_vm, response do
-
1
assert_instance_of Fog::Compute::AzureRM::Server, @server.attach_data_disk('disk1', '10', 'mystorage1')
-
end
-
end
-
-
1
def test_detach_data_disk_response
-
1
response = ApiStub::Models::Compute::Server.create_linux_virtual_machine_response(@compute_client)
-
1
@service.stub :detach_data_disk_from_vm, response do
-
1
assert_instance_of Fog::Compute::AzureRM::Server, @server.detach_data_disk('disk1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Servers Collection
-
1
class TestServers < Minitest::Test
-
1
def setup
-
4
@service = Fog::Compute::AzureRM.new(credentials)
-
4
@servers = Fog::Compute::AzureRM::Servers.new(resource_group: 'fog-test-rg', service: @service)
-
4
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
4
@response = ApiStub::Models::Compute::Server.create_windows_virtual_machine_response(@compute_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @servers, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @servers, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
response = [@response]
-
1
@service.stub :list_virtual_machines, response do
-
1
assert_instance_of Fog::Compute::AzureRM::Servers, @servers.all
-
1
assert @servers.all.size >= 1
-
1
@servers.all.each do |s|
-
1
assert_instance_of Fog::Compute::AzureRM::Server, s
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_virtual_machine, @response do
-
1
assert_instance_of Fog::Compute::AzureRM::Server, @servers.get('fog-test-rg', 'fog-test-server')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for VirtualMachineExtension Model
-
1
class TestVirtualMachineExtension < Minitest::Test
-
1
def setup
-
5
@service = Fog::Compute::AzureRM.new(credentials)
-
5
@virtual_machine_extension = virtual_machine_extension(@service)
-
5
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:update,
-
:destroy
-
]
-
1
methods.each do |method|
-
3
assert_respond_to @virtual_machine_extension, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:id,
-
:name,
-
:resource_group,
-
:location,
-
:vm_name,
-
:type,
-
:publisher,
-
:type_handler_version,
-
:auto_upgrade_minor_version,
-
:settings,
-
:protected_settings
-
]
-
1
attributes.each do |attribute|
-
11
assert_respond_to @virtual_machine_extension, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
response = ApiStub::Models::Compute::VirtualMachineExtension.create_vm_extension_response(@compute_client)
-
1
@service.stub :create_or_update_vm_extension, response do
-
1
assert_instance_of Fog::Compute::AzureRM::VirtualMachineExtension, @virtual_machine_extension.save
-
end
-
end
-
-
1
def test_update_method_response
-
1
response = ApiStub::Models::Compute::VirtualMachineExtension.create_vm_extension_response(@compute_client)
-
1
@service.stub :create_or_update_vm_extension, response do
-
1
assert_instance_of Fog::Compute::AzureRM::VirtualMachineExtension, @virtual_machine_extension.update({})
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
response = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
1
@service.stub :delete_vm_extension, response do
-
1
assert_instance_of MsRestAzure::AzureOperationResponse, @virtual_machine_extension.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
1
class TestVirtualMachineExtensions < Minitest::Test
-
1
def setup
-
3
@service = Fog::Compute::AzureRM.new(credentials)
-
3
@vm_extensions = Fog::Compute::AzureRM::VirtualMachineExtensions.new(resource_group: 'fog-test-rg', service: @service)
-
3
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
3
@response = ApiStub::Models::Compute::VirtualMachineExtension.create_vm_extension_response(@compute_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @vm_extensions, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
attributes = [
-
:resource_group,
-
:vm_name
-
]
-
1
attributes.each do |attribute|
-
2
assert_respond_to @vm_extensions, attribute
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_vm_extension, @response do
-
1
assert_instance_of Fog::Compute::AzureRM::VirtualMachineExtension, @vm_extensions.get('fog-test-rg', 'fog-test-server', 'fog-test-extension')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Record Set Model
-
1
class TestRecordSet < Minitest::Test
-
1
def setup
-
9
@service = Fog::DNS::AzureRM.new(credentials)
-
9
@record_set = record_set(@service)
-
9
@dns_client1 = @service.instance_variable_get(:@dns_client)
-
9
@response = ApiStub::Models::DNS::RecordSet.create_record_set_obj(@dns_client1)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy,
-
:get_records
-
]
-
1
methods.each do |method|
-
3
assert_respond_to @record_set, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:resource_group,
-
:zone_name,
-
:records,
-
:type,
-
:ttl
-
]
-
1
attributes.each do |attribute|
-
6
assert_respond_to @record_set, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_record_set, @response do
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSet, @record_set.save
-
end
-
1
record_set_cname = record_set_cname(@service)
-
1
response = ApiStub::Models::DNS::RecordSet.response_for_cname(@dns_client1)
-
1
@service.stub :create_or_update_record_set, response do
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSet, record_set_cname.save
-
end
-
end
-
-
1
def test_destroy_method_true_response
-
1
@service.stub :delete_record_set, true do
-
1
assert @record_set.destroy
-
end
-
end
-
-
1
def test_destroy_method_false_response
-
1
@service.stub :delete_record_set, false do
-
1
assert !@record_set.destroy
-
end
-
end
-
-
1
def test_get_records_response
-
1
@service.stub :get_records_from_record_set, ['4.3.2.1', '5.3.2.1'] do
-
1
assert_equal @record_set.get_records('fog-test-rg', 'fog-test-record-set', 'fog-test-zone', 'A'), ['4.3.2.1', '5.3.2.1']
-
end
-
end
-
-
1
def test_update_ttl_response
-
1
@service.stub :create_or_update_record_set, @response do
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSet, @record_set.update_ttl(70)
-
1
assert_raises ArgumentError do
-
1
@record_set.update_ttl(70, 'fog-test-record-set')
-
end
-
end
-
end
-
-
1
def test_add_a_type_record_response
-
1
@service.stub :create_or_update_record_set, @response do
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSet, @record_set.add_a_type_record('5.3.2.1')
-
end
-
end
-
-
1
def test_remove_a_type_record_response
-
1
@service.stub :create_or_update_record_set, @response do
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSet, @record_set.remove_a_type_record('5.3.2.1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Record Set Collection
-
1
class TestRecordSets < Minitest::Test
-
1
def setup
-
5
@service = Fog::DNS::AzureRM.new(credentials)
-
5
@record_sets = Fog::DNS::AzureRM::RecordSets.new(resource_group: 'fog-test-rg', zone_name: 'fog-test-zone.com', type: 'A', service: @service)
-
5
@dns_client1 = @service.instance_variable_get(:@dns_client)
-
5
@response = [ApiStub::Models::DNS::RecordSet.create_record_set_obj(@dns_client1)]
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @record_sets, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @record_sets, :resource_group
-
1
assert_respond_to @record_sets, :zone_name
-
1
assert_respond_to @record_sets, :type
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_record_sets, @response do
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSets, @record_sets.all
-
1
assert @record_sets.all.size >= 1
-
1
@record_sets.all.each do |s|
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSet, s
-
end
-
end
-
end
-
-
1
def test_all_method_name_response
-
1
name_response = ApiStub::Models::DNS::RecordSet.create_record_set_obj(@dns_client1)
-
1
name_response.name = '@'
-
1
response = [name_response]
-
1
@service.stub :list_record_sets, response do
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSets, @record_sets.all
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::DNS::RecordSet.create_record_set_obj(@dns_client1)
-
1
@service.stub :get_record_set, response do
-
1
assert_instance_of Fog::DNS::AzureRM::RecordSet, @record_sets.get('fog-test-rg', 'fog-test-record-set', 'fog-test-zone', 'A')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Zone Model
-
1
class TestZone < Minitest::Test
-
1
def setup
-
5
@service = Fog::DNS::AzureRM.new(credentials)
-
5
@zone = zone(@service)
-
5
@dns_client1 = @service.instance_variable_get(:@dns_client)
-
5
@response = ApiStub::Models::DNS::Zone.create_zone_obj(@dns_client1)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @zone, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:resource_group
-
]
-
1
attributes.each do |attribute|
-
3
assert_respond_to @zone, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_zone, @response do
-
1
assert_instance_of Fog::DNS::AzureRM::Zone, @zone.save
-
end
-
end
-
-
1
def test_destroy_method_true_response
-
1
@service.stub :delete_zone, true do
-
1
assert @zone.destroy
-
end
-
end
-
-
1
def test_destroy_method_false_response
-
1
@service.stub :delete_zone, false do
-
1
assert !@zone.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ExpressRouteCircuit Model
-
1
class TestExpressRouteCircuit < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@circuit = express_route_circuit(@service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @circuit, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:resource_group,
-
:name,
-
:location,
-
:tags,
-
:sku_name,
-
:sku_tier,
-
:sku_family,
-
:service_provider_name,
-
:peering_location,
-
:bandwidth_in_mbps,
-
:peerings
-
]
-
1
attributes.each do |attribute|
-
11
assert_respond_to @circuit, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
response = ApiStub::Models::Network::ExpressRouteCircuit.create_express_route_circuit_response(@network_client)
-
1
@service.stub :create_or_update_express_route_circuit, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuit, @circuit.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_express_route_circuit, true do
-
1
assert @circuit.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ExpressRouteCircuitAuthorization Model
-
1
class TestExpressRouteCircuitAuthorization < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@circuit_authorization = express_route_circuit_authorization(@service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @circuit_authorization, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:resource_group,
-
:authorization_name,
-
:authorization_key,
-
:authorization_use_status,
-
:provisioning_state,
-
:etag,
-
:circuit_name
-
]
-
1
attributes.each do |attribute|
-
9
assert_respond_to @circuit_authorization, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
response = ApiStub::Models::Network::ExpressRouteCircuitAuthorization.create_express_route_circuit_authorization_response(@network_client)
-
1
@service.stub :create_or_update_express_route_circuit_authorization, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuitAuthorization, @circuit_authorization.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_express_route_circuit_authorization, true do
-
1
assert @circuit_authorization.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ExpressRouteCircuitAuthorizations Collection
-
1
class TestExpressRouteCircuitAuthorizations < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@circuit_authorizations = Fog::Network::AzureRM::ExpressRouteCircuitAuthorizations.new(resource_group: 'fog-test-rg', circuit_name: 'testCircuit', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @circuit_authorizations, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @circuit_authorizations, :resource_group
-
1
assert_respond_to @circuit_authorizations, :circuit_name
-
end
-
-
1
def test_all_method_response
-
1
response = [ApiStub::Models::Network::ExpressRouteCircuitAuthorization.create_express_route_circuit_authorization_response(@network_client)]
-
1
@service.stub :list_express_route_circuit_authorizations, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuitAuthorizations, @circuit_authorizations.all
-
1
assert @circuit_authorizations.all.size >= 1
-
1
@circuit_authorizations.all.each do |circuit_authorization|
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuitAuthorization, circuit_authorization
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Network::ExpressRouteCircuitAuthorization.create_express_route_circuit_authorization_response(@network_client)
-
1
@service.stub :get_express_route_circuit_authorization, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuitAuthorization, @circuit_authorizations.get('HaiderRG', 'testCircuit', 'auth-name')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ExpressRouteCircuitPeering Model
-
1
class TestExpressRouteCircuitPeering < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@circuit_peering = express_route_circuit_peering(@service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @circuit_peering, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:resource_group,
-
:name,
-
:circuit_name,
-
:peering_type,
-
:peer_asn,
-
:primary_peer_address_prefix,
-
:secondary_peer_address_prefix,
-
:vlan_id,
-
:advertised_public_prefixes,
-
:advertised_public_prefix_state,
-
:customer_asn,
-
:routing_registry_name
-
]
-
1
attributes.each do |attribute|
-
12
assert_respond_to @circuit_peering, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
response = ApiStub::Models::Network::ExpressRouteCircuitPeering.create_express_route_circuit_peering_response(@network_client)
-
1
@service.stub :create_or_update_express_route_circuit_peering, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuitPeering, @circuit_peering.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_express_route_circuit_peering, true do
-
1
assert @circuit_peering.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ExpressRouteCircuitPeering Collection
-
1
class TestExpressRouteCircuitPeerings < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@circuit_peerings = Fog::Network::AzureRM::ExpressRouteCircuitPeerings.new(resource_group: 'fog-test-rg', circuit_name: 'testCircuit', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @circuit_peerings, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @circuit_peerings, :resource_group
-
1
assert_respond_to @circuit_peerings, :circuit_name
-
end
-
-
1
def test_all_method_response
-
1
response = [ApiStub::Models::Network::ExpressRouteCircuitPeering.create_express_route_circuit_peering_response(@network_client)]
-
1
@service.stub :list_express_route_circuit_peerings, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuitPeerings, @circuit_peerings.all
-
1
assert @circuit_peerings.all.size >= 1
-
1
@circuit_peerings.all.each do |circuit_peering|
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuitPeering, circuit_peering
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Network::ExpressRouteCircuitPeering.create_express_route_circuit_peering_response(@network_client)
-
1
@service.stub :get_express_route_circuit_peering, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuitPeering, @circuit_peerings.get('HaiderRG', 'AzurePrivatePeering', 'testCircuit')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ExpressRouteCircuit Collection
-
1
class TestExpressRouteCircuits < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@circuits = Fog::Network::AzureRM::ExpressRouteCircuits.new(resource_group: 'fog-test-rg', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @circuits, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @circuits, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
response = [ApiStub::Models::Network::ExpressRouteCircuit.create_express_route_circuit_response(@network_client)]
-
1
@service.stub :list_express_route_circuits, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuits, @circuits.all
-
1
assert @circuits.all.size >= 1
-
1
@circuits.all.each do |circuit|
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuit, circuit
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Network::ExpressRouteCircuit.create_express_route_circuit_response(@network_client)
-
1
@service.stub :get_express_route_circuit, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteCircuit, @circuits.get('HaiderRG', 'testCircuit')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for ExpressRouteServiceProvider Collection
-
1
class TestExpressRouteServiceProviders < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@service_providers = Fog::Network::AzureRM::ExpressRouteServiceProviders.new(service: @service)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all
-
]
-
1
methods.each do |method|
-
1
assert_respond_to @service_providers, method
-
end
-
end
-
-
1
def test_all_method_response
-
1
response = ApiStub::Models::Network::ExpressRouteServiceProvider.list_express_route_service_provider_response(@network_client)
-
1
@service.stub :list_express_route_service_providers, response do
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteServiceProviders, @service_providers.all
-
1
assert @service_providers.all.size >= 1
-
1
@service_providers.all.each do |service_provider|
-
1
assert_instance_of Fog::Network::AzureRM::ExpressRouteServiceProvider, service_provider
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for LoadBalancer Model
-
1
class TestLoadBalancer < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@load_balancer = load_balancer(@service)
-
4
network_client = @service.instance_variable_get(:@network_client)
-
4
@response = ApiStub::Models::Network::LoadBalancer.create_load_balancer_response(network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @load_balancer, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:location,
-
:resource_group,
-
:frontend_ip_configurations,
-
:backend_address_pool_names,
-
:load_balancing_rules,
-
:probes,
-
:inbound_nat_rules,
-
:inbound_nat_pools
-
]
-
1
attributes.each do |attribute|
-
10
assert_respond_to @load_balancer, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_load_balancer, @response do
-
1
assert_instance_of Fog::Network::AzureRM::LoadBalancer, @load_balancer.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_load_balancer, true do
-
1
assert @load_balancer.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for LoadBalancer Collection
-
1
class TestLoadBalancers < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@load_balancers = Fog::Network::AzureRM::LoadBalancers.new(resource_group: 'fog-test-rg', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
4
@response = ApiStub::Models::Network::LoadBalancer.create_load_balancer_response(@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @load_balancers, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @load_balancers, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
response = [@response]
-
1
@service.stub :list_load_balancers, response do
-
1
assert_instance_of Fog::Network::AzureRM::LoadBalancers, @load_balancers.all
-
1
assert @load_balancers.all.size >= 1
-
1
@load_balancers.all.each do |lb|
-
1
assert_instance_of Fog::Network::AzureRM::LoadBalancer, lb
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_load_balancer, @response do
-
1
assert_instance_of Fog::Network::AzureRM::LoadBalancer, @load_balancers.get('fog-test-rg', 'mylb1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for LocalNetworkGateway Model
-
1
class TestLocalNetworkGateway < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@local_network_gateway = local_network_gateway(@service)
-
4
network_client = @service.instance_variable_get(:@network_client)
-
4
@response = ApiStub::Models::Network::LocalNetworkGateway.create_local_network_gateway_response(network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @local_network_gateway, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:location,
-
:type,
-
:resource_group,
-
:tags,
-
:local_network_address_space_prefixes,
-
:gateway_ip_address,
-
:asn,
-
:bgp_peering_address,
-
:peer_weight,
-
:provisioning_state
-
]
-
1
attributes.each do |attribute|
-
12
assert_respond_to @local_network_gateway, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_local_network_gateway, @response do
-
1
assert_instance_of Fog::Network::AzureRM::LocalNetworkGateway, @local_network_gateway.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_local_network_gateway, true do
-
1
assert @local_network_gateway.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for LocalNetworkGateway Collection
-
1
class TestLocalNetworkGateways < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@local_network_gateways = Fog::Network::AzureRM::LocalNetworkGateways.new(resource_group: 'fog-rg', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
4
@response = ApiStub::Models::Network::LocalNetworkGateway.create_local_network_gateway_response(@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @local_network_gateways, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @local_network_gateways, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
response = [@response]
-
1
@service.stub :list_local_network_gateways, response do
-
1
assert_instance_of Fog::Network::AzureRM::LocalNetworkGateways, @local_network_gateways.all
-
1
assert @local_network_gateways.all.size >= 1
-
1
@local_network_gateways.all.each do |local_network_gateway|
-
1
assert_instance_of Fog::Network::AzureRM::LocalNetworkGateway, local_network_gateway
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_local_network_gateway, @response do
-
1
assert_instance_of Fog::Network::AzureRM::LocalNetworkGateway, @local_network_gateways.get('fog-rg', 'mylocalgateway1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for NetworkInterface Model
-
1
class TestNetworkInterface < Minitest::Test
-
1
def setup
-
9
@service = Fog::Network::AzureRM.new(credentials)
-
9
@network_interface = network_interface(@service)
-
9
network_client = @service.instance_variable_get(:@network_client)
-
9
@response = ApiStub::Models::Network::NetworkInterface.create_network_interface_response(network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy,
-
:attach_subnet,
-
:attach_public_ip,
-
:attach_network_security_group,
-
:detach_public_ip,
-
:detach_network_security_group
-
]
-
1
methods.each do |method|
-
7
assert_respond_to @network_interface, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:location,
-
:resource_group,
-
:virtual_machine_id,
-
:mac_address,
-
:network_security_group_id,
-
:ip_configuration_name,
-
:ip_configuration_id,
-
:subnet_id,
-
:private_ip_allocation_method,
-
:private_ip_address,
-
:public_ip_address_id,
-
:load_balancer_backend_address_pools_ids,
-
:load_balancer_inbound_nat_rules_ids,
-
:dns_servers,
-
:applied_dns_servers,
-
:internal_dns_name_label,
-
:internal_fqd
-
]
-
1
attributes.each do |attribute|
-
19
assert_respond_to @network_interface, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_network_interface, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterface, @network_interface.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
response = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
1
@service.stub :delete_network_interface, response do
-
1
assert_instance_of MsRestAzure::AzureOperationResponse, @network_interface.destroy
-
end
-
end
-
-
1
def test_attach_subnet
-
1
@service.stub :attach_resource_to_nic, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterface, @network_interface.attach_subnet('<subnet-id>')
-
end
-
end
-
-
1
def test_attach_public_ip
-
1
@service.stub :attach_resource_to_nic, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterface, @network_interface.attach_public_ip('<public-ip-id>')
-
end
-
end
-
-
1
def test_attach_network_security_group
-
1
@service.stub :attach_resource_to_nic, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterface, @network_interface.attach_network_security_group('<nsg-id>')
-
end
-
end
-
-
1
def test_detach_public_ip
-
1
@service.stub :detach_resource_from_nic, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterface, @network_interface.detach_public_ip
-
end
-
end
-
-
1
def test_detach_network_security_group
-
1
@service.stub :detach_resource_from_nic, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterface, @network_interface.detach_network_security_group
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for NetworkInterface Collection
-
1
class TestNetworkInterfaces < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@network_interfaces = Fog::Network::AzureRM::NetworkInterfaces.new(resource_group: 'fog-test-rg', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @network_interfaces, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @network_interfaces, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
response = [ApiStub::Models::Network::NetworkInterface.create_network_interface_response(@network_client)]
-
1
@service.stub :list_network_interfaces, response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterfaces, @network_interfaces.all
-
1
assert @network_interfaces.all.size >= 1
-
1
@network_interfaces.all.each do |nic|
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterface, nic
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Network::NetworkInterface.create_network_interface_response(@network_client)
-
1
@service.stub :get_network_interface, response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkInterface, @network_interfaces.get('fog-test-rg', 'fog-test-network-interface')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Network Security Group Model
-
1
class TestNetworkSecurityGroup < Minitest::Test
-
1
def setup
-
7
@service = Fog::Network::AzureRM.new(credentials)
-
7
@client = @service.instance_variable_get(:@network_client)
-
7
@network_security_group = network_security_group(@service)
-
7
@response = ApiStub::Models::Network::NetworkSecurityGroup.create_network_security_group_response(@client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy,
-
:update_security_rules,
-
:add_security_rules,
-
:remove_security_rule
-
]
-
1
methods.each do |method|
-
5
assert @network_security_group.respond_to? method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:resource_group,
-
:location,
-
:network_interfaces_ids,
-
:subnets_ids,
-
:security_rules,
-
:default_security_rules
-
]
-
1
attributes.each do |attribute|
-
8
assert_respond_to @network_security_group, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_network_security_group, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityGroup, @network_security_group.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_network_security_group, true do
-
1
assert @network_security_group.destroy
-
end
-
end
-
-
1
def test_update_method_response
-
1
@service.stub :create_or_update_network_security_group, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityGroup,
-
@network_security_group.update_security_rules(
-
security_rules:
-
[
-
{
-
name: 'testRule',
-
protocol: 'tcp',
-
source_port_range: '*',
-
destination_port_range: '*',
-
source_address_prefix: '0.0.0.0/0',
-
destination_address_prefix: '0.0.0.0/0',
-
access: 'Allow',
-
priority: '100',
-
direction: 'Inbound'
-
}
-
]
-
)
-
end
-
end
-
-
1
def test_add_security_rules_method_response
-
1
@service.stub :add_security_rules, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityGroup, @network_security_group.add_security_rules(ApiStub::Models::Network::NetworkSecurityGroup.security_rules_array)
-
end
-
end
-
-
1
def test_remove_security_rule_method_response
-
1
@service.stub :remove_security_rule, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityGroup, @network_security_group.remove_security_rule('myNsRule')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Network Security Group Collection
-
1
class TestNetworkSecurityGroups < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
client = @service.instance_variable_get(:@network_client)
-
4
@network_security_groups = Fog::Network::AzureRM::NetworkSecurityGroups.new(resource_group: 'fog-test-rg', service: @service)
-
4
@response = [ApiStub::Models::Network::NetworkSecurityGroup.create_network_security_group_response(client)]
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @network_security_groups, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @network_security_groups, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_network_security_groups, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityGroups, @network_security_groups.all
-
1
assert @network_security_groups.all.size >= 1
-
1
@network_security_groups.all.each do |nsg|
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityGroup, nsg
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_network_security_group, @response[0] do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityGroup, @network_security_groups.get('fog-test-rg', 'fog-test-nsg')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Network Security Rule Model
-
1
class TestNetworkSecurityRule < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@client = @service.instance_variable_get(:@network_client)
-
3
@network_security_rule = network_security_rule(@service)
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:resource_group,
-
:network_security_group_name,
-
:description,
-
:protocol,
-
:source_port_range,
-
:destination_port_range,
-
:source_address_prefix,
-
:destination_address_prefix,
-
:access,
-
:priority,
-
:direction
-
]
-
1
attributes.each do |attribute|
-
13
assert_respond_to @network_security_rule, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
response = ApiStub::Models::Network::NetworkSecurityRule.create_network_security_rule_response(@client)
-
1
@service.stub :create_or_update_network_security_rule, response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityRule, @network_security_rule.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_network_security_rule, true do
-
1
assert @network_security_rule.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Network Security Rule Collection
-
1
class TestNetworkSecurityRules < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
client = @service.instance_variable_get(:@network_client)
-
4
@network_security_rules = Fog::Network::AzureRM::NetworkSecurityRules.new(resource_group: 'fog-test-rg', network_security_group_name: 'fog-test-nsg', service: @service)
-
4
@response = [ApiStub::Models::Network::NetworkSecurityRule.create_network_security_rule_response(client)]
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @network_security_rules, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @network_security_rules, :resource_group
-
1
assert_respond_to @network_security_rules, :network_security_group_name
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_network_security_rules, @response do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityRules, @network_security_rules.all
-
1
assert @network_security_rules.all.size >= 1
-
1
@network_security_rules.all.each do |nsr|
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityRule, nsr
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_network_security_rule, @response[0] do
-
1
assert_instance_of Fog::Network::AzureRM::NetworkSecurityRule, @network_security_rules.get('fog-test-rg', 'fog-test-nsg', 'fog-test-nsr')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for PublicIp Model
-
1
class TestPublicIp < Minitest::Test
-
1
def setup
-
5
@service = Fog::Network::AzureRM.new(credentials)
-
5
@network_client = @service.instance_variable_get(:@network_client)
-
5
@public_ip = public_ip(@service)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy,
-
:update
-
]
-
1
methods.each do |method|
-
3
assert_respond_to @public_ip, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:location,
-
:resource_group,
-
:ip_address,
-
:public_ip_allocation_method,
-
:idle_timeout_in_minutes,
-
:ip_configuration_id,
-
:domain_name_label,
-
:fqdn,
-
:reverse_fqdn
-
]
-
1
attributes.each do |attribute|
-
11
assert_respond_to @public_ip, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
response = ApiStub::Models::Network::PublicIp.create_public_ip_response(@network_client)
-
1
@service.stub :create_or_update_public_ip, response do
-
1
assert_instance_of Fog::Network::AzureRM::PublicIp, @public_ip.save
-
end
-
end
-
-
1
def test_update_method_response
-
1
response = ApiStub::Models::Network::PublicIp.create_public_ip_response(@network_client)
-
1
@service.stub :create_or_update_public_ip, response do
-
1
assert_instance_of Fog::Network::AzureRM::PublicIp, @public_ip.update({})
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
response = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
1
@service.stub :delete_public_ip, response do
-
1
assert_instance_of MsRestAzure::AzureOperationResponse, @public_ip.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for PublicIp Collection
-
1
class TestPublicIps < Minitest::Test
-
1
def setup
-
6
@service = Fog::Network::AzureRM.new(credentials)
-
6
@public_ips = Fog::Network::AzureRM::PublicIps.new(resource_group: 'fog-test-rg', service: @service)
-
6
@network_client = @service.instance_variable_get(:@network_client)
-
6
@response = [ApiStub::Models::Network::PublicIp.create_public_ip_response(@network_client)]
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get,
-
:check_if_exists
-
]
-
1
methods.each do |method|
-
3
assert_respond_to @public_ips, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @public_ips, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_public_ips, @response do
-
1
assert_instance_of Fog::Network::AzureRM::PublicIps, @public_ips.all
-
1
assert @public_ips.all.size >= 1
-
1
@public_ips.all.each do |pip|
-
1
assert_instance_of Fog::Network::AzureRM::PublicIp, pip
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Network::PublicIp.create_public_ip_response(@network_client)
-
1
@service.stub :get_public_ip, response do
-
1
assert_instance_of Fog::Network::AzureRM::PublicIp, @public_ips.get('fog-test-rg', 'fog-test-public-ip')
-
end
-
end
-
-
1
def test_check_if_exists_method_success
-
1
@service.stub :check_for_public_ip, true do
-
1
assert @public_ips.check_if_exists('fog-test-rg', 'fog-test-public-ip')
-
end
-
end
-
-
1
def test_check_if_exists_method_failure
-
1
@service.stub :check_for_public_ip, false do
-
1
assert !@public_ips.check_if_exists('fog-test-rg', 'fog-test-public-ip')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Subnet Model
-
1
class TestSubnet < Minitest::Test
-
1
def setup
-
9
@service = Fog::Network::AzureRM.new(credentials)
-
9
@subnet = subnet(@service)
-
9
network_client = @service.instance_variable_get(:@network_client)
-
9
@response = ApiStub::Models::Network::Subnet.create_subnet_response(network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:attach_network_security_group,
-
:detach_network_security_group,
-
:attach_route_table,
-
:detach_route_table,
-
:get_available_ipaddresses_count,
-
:destroy
-
]
-
-
1
methods.each do |method|
-
7
assert_respond_to @subnet, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:resource_group,
-
:virtual_network_name,
-
:address_prefix,
-
:network_security_group_id,
-
:route_table_id,
-
:ip_configurations_ids
-
]
-
1
attributes.each do |attribute|
-
8
assert_respond_to @subnet, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_subnet, @response do
-
1
assert_instance_of Fog::Network::AzureRM::Subnet, @subnet.save
-
end
-
end
-
-
1
def test_attach_network_security_group_method_response
-
1
@service.stub :attach_network_security_group_to_subnet, @response do
-
1
assert_instance_of Fog::Network::AzureRM::Subnet, @subnet.attach_network_security_group('resource-id')
-
end
-
end
-
-
1
def test_detach_network_security_group_method_response
-
1
@service.stub :detach_network_security_group_from_subnet, @response do
-
1
assert_instance_of Fog::Network::AzureRM::Subnet, @subnet.detach_network_security_group
-
end
-
end
-
-
1
def test_attach_route_table_method_response
-
1
@service.stub :attach_route_table_to_subnet, @response do
-
1
assert_instance_of Fog::Network::AzureRM::Subnet, @subnet.attach_route_table('resource-id')
-
end
-
end
-
-
1
def test_detach_route_table_method_response
-
1
@service.stub :detach_route_table_from_subnet, @response do
-
1
assert_instance_of Fog::Network::AzureRM::Subnet, @subnet.detach_route_table
-
end
-
end
-
-
1
def test_get_available_ipaddresses_count_response
-
1
assert_instance_of Fixnum, @subnet.get_available_ipaddresses_count(false)
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_subnet, true do
-
1
assert @subnet.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Subnet Collection
-
1
class TestSubnets < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@subnets = Fog::Network::AzureRM::Subnets.new(resource_group: 'fog-test-rg', virtual_network_name: 'fog-test-virtual-network', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @subnets, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @subnets, :resource_group
-
1
assert_respond_to @subnets, :virtual_network_name
-
end
-
-
1
def test_all_method_response
-
1
response = [ApiStub::Models::Network::Subnet.create_subnet_response(@network_client)]
-
1
@service.stub :list_subnets, response do
-
1
assert_instance_of Fog::Network::AzureRM::Subnets, @subnets.all
-
1
assert @subnets.all.size >= 1
-
1
@subnets.all.each do |subnet|
-
1
assert_instance_of Fog::Network::AzureRM::Subnet, subnet
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Network::Subnet.create_subnet_response(@network_client)
-
1
@service.stub :get_subnet, response do
-
1
assert_instance_of Fog::Network::AzureRM::Subnet, @subnets.get('fog-test-rg', 'fog-test-vnet', 'fog-test-subnet')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for VirtualNetwork Model
-
1
class TestVirtualNetwork < Minitest::Test
-
1
def setup
-
11
@service = Fog::Network::AzureRM.new(credentials)
-
11
@virtual_network = virtual_network(@service)
-
11
@network_client = @service.instance_variable_get(:@network_client)
-
11
@response = ApiStub::Models::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:add_dns_servers,
-
:remove_dns_servers,
-
:add_address_prefixes,
-
:remove_address_prefixes,
-
:add_subnets,
-
:remove_subnets,
-
:update,
-
:destroy
-
]
-
1
methods.each do |method|
-
9
assert_respond_to @virtual_network, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:location,
-
:dns_servers,
-
:subnets,
-
:address_prefixes,
-
:resource_group
-
]
-
1
attributes.each do |attribute|
-
7
assert_respond_to @virtual_network, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_virtual_network, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_network.save
-
end
-
end
-
-
1
def test_add_dns_servers_method_response
-
1
@service.stub :add_dns_servers_in_virtual_network, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_network.add_dns_servers(['10.3.0.0', '10.4.0.0'])
-
end
-
end
-
-
1
def test_remove_dns_servers_method_response
-
1
@service.stub :remove_dns_servers_from_virtual_network, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_network.remove_dns_servers(['10.3.0.0', '10.4.0.0'])
-
end
-
end
-
-
1
def test_add_address_prefixes_method_response
-
1
@service.stub :add_address_prefixes_in_virtual_network, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_network.add_address_prefixes(['10.0.0.0/16'])
-
end
-
end
-
-
1
def test_remove_address_prefixes_method_response
-
1
@service.stub :remove_address_prefixes_from_virtual_network, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_network.remove_address_prefixes(['10.0.0.0/16'])
-
end
-
end
-
-
1
def test_add_subnets_method_response
-
1
subnets = [{
-
name: 'test-subnet',
-
address_prefix: '10.0.0.0/16'
-
}]
-
1
@service.stub :add_subnets_in_virtual_network, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_network.add_subnets(subnets)
-
end
-
end
-
-
1
def test_remove_subnets_method_response
-
1
@service.stub :remove_subnets_from_virtual_network, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_network.remove_subnets(['test-subnet'])
-
end
-
end
-
-
1
def test_update_method_response
-
1
subnets = [{
-
name: 'test-subnet',
-
address_prefix: '10.0.0.0/16'
-
}]
-
1
@service.stub :create_or_update_virtual_network, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_network.update(subnets: subnets, address_prefixes: ['10.0.0.0/16'])
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
response = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new)
-
1
@service.stub :delete_virtual_network, response do
-
1
assert_instance_of MsRestAzure::AzureOperationResponse, @virtual_network.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for VirtualNetworkGateway Model
-
1
class TestVirtualNetworkGateway < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@network_gateway = virtual_network_gateway(@service)
-
4
network_client = @service.instance_variable_get(:@network_client)
-
4
@response = ApiStub::Models::Network::VirtualNetworkGateway.create_virtual_network_gateway_response(network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @network_gateway, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:location,
-
:resource_group,
-
:tags,
-
:gateway_type,
-
:gateway_size,
-
:vpn_type,
-
:enable_bgp,
-
:provisioning_state,
-
:sku_name,
-
:sku_tier,
-
:sku_capacity,
-
:vpn_client_address_pool,
-
:gateway_default_site,
-
:default_sites,
-
:ip_configurations,
-
:vpn_client_configuration,
-
:asn,
-
:bgp_peering_address,
-
:peer_weight
-
]
-
1
attributes.each do |attribute|
-
21
assert_respond_to @network_gateway, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_virtual_network_gateway, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworkGateway, @network_gateway.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_virtual_network_gateway, true do
-
1
assert @network_gateway.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for VirtualNetworkGatewayConnection Model
-
1
class TestVirtualNetworkGatewayConnection < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@gateway_connection = virtual_network_gateway_connection(@service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @gateway_connection, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:location,
-
:resource_group,
-
:tags,
-
:virtual_network_gateway1,
-
:virtual_network_gateway2,
-
:local_network_gateway2,
-
:enable_bgp,
-
:connection_type,
-
:authorization_key,
-
:routing_weight,
-
:shared_key,
-
:egress_bytes_transferred,
-
:ingress_bytes_transferred,
-
:peer,
-
:provisioning_state,
-
:connection_status
-
]
-
1
attributes.each do |attribute|
-
18
assert_respond_to @gateway_connection, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
connection_response = ApiStub::Models::Network::VirtualNetworkGatewayConnection.create_virtual_network_gateway_connection_response(@network_client)
-
1
@service.stub :create_or_update_virtual_network_gateway_connection, connection_response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworkGatewayConnection, @gateway_connection.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_virtual_network_gateway_connection, true do
-
1
assert @gateway_connection.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for VirtualNetworkGatewayConnection Collection
-
1
class TestVirtualNetworkGatewayConnections < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@gateway_connections = Fog::Network::AzureRM::VirtualNetworkGatewayConnections.new(resource_group: 'fog-rg', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
4
@response = ApiStub::Models::Network::VirtualNetworkGatewayConnection.create_virtual_network_gateway_connection_response(@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @gateway_connections, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @gateway_connections, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
connection_response = [@response]
-
1
@service.stub :list_virtual_network_gateway_connections, connection_response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworkGatewayConnections, @gateway_connections.all
-
1
assert @gateway_connections.all.size >= 1
-
1
@gateway_connections.all.each do |gateway_connection|
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworkGatewayConnection, gateway_connection
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_virtual_network_gateway_connection, @response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworkGatewayConnection, @gateway_connections.get('fog-rg', 'cn1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for VirtualNetworkGateway Collection
-
1
class TestVirtualNetworkGateways < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@network_gateways = Fog::Network::AzureRM::VirtualNetworkGateways.new(resource_group: 'fog-rg', service: @service)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @network_gateways, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @network_gateways, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
response = [ApiStub::Models::Network::VirtualNetworkGateway.create_virtual_network_gateway_response(@network_client)]
-
1
@service.stub :list_virtual_network_gateways, response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworkGateways, @network_gateways.all
-
1
assert @network_gateways.all.size >= 1
-
1
@network_gateways.all.each do |network_gateway|
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworkGateway, network_gateway
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Network::VirtualNetworkGateway.create_virtual_network_gateway_response(@network_client)
-
1
@service.stub :get_virtual_network_gateway, response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworkGateway, @network_gateways.get('fog-rg', 'myvirtualgateway1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for VirtualNetwork Collection
-
1
class TestVirtualNetworks < Minitest::Test
-
1
def setup
-
6
@service = Fog::Network::AzureRM.new(credentials)
-
6
@virtual_networks = Fog::Network::AzureRM::VirtualNetworks.new(resource_group: 'fog-test-rg', service: @service)
-
6
@network_client = @service.instance_variable_get(:@network_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get,
-
:check_if_exists
-
]
-
1
methods.each do |method|
-
3
assert_respond_to @virtual_networks, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @virtual_networks, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
response = [ApiStub::Models::Network::VirtualNetwork.create_virtual_network_response(@network_client)]
-
1
@service.stub :list_virtual_networks, response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetworks, @virtual_networks.all
-
1
assert @virtual_networks.all.size >= 1
-
1
@virtual_networks.all.each do |nic|
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, nic
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
1
@service.stub :get_virtual_network, response do
-
1
assert_instance_of Fog::Network::AzureRM::VirtualNetwork, @virtual_networks.get('fog-rg', 'fog-test-virtual-network')
-
end
-
end
-
-
1
def test_check_if_exists_method_success
-
1
@service.stub :check_for_virtual_network, true do
-
1
assert @virtual_networks.check_if_exists('fog-test-rg', 'fog-test-virtual-network')
-
end
-
end
-
-
1
def test_check_if_exists_method_failure
-
1
@service.stub :check_for_virtual_network, false do
-
1
assert !@virtual_networks.check_if_exists('fog-test-rg', 'fog-test-virtual-network')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Deployment Model
-
1
class TestDeployment < Minitest::Test
-
1
def setup
-
4
@service = Fog::Resources::AzureRM.new(credentials)
-
4
client = @service.instance_variable_get(:@rmc)
-
4
@deployment = deployment(@service)
-
4
@response = ApiStub::Models::Resources::Deployment.create_deployment_response(client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @deployment, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:resource_group,
-
:correlation_id,
-
:timestamp,
-
:outputs,
-
:providers,
-
:dependencies,
-
:template_link,
-
:parameters_link,
-
:mode,
-
:debug_setting,
-
:content_version,
-
:provisioning_state
-
]
-
1
attributes.each do |attribute|
-
14
assert_respond_to @deployment, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_deployment, @response do
-
1
assert_instance_of Fog::Resources::AzureRM::Deployment, @deployment.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_deployment, @response do
-
1
assert @deployment.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Deployment Collection
-
1
class TestDeployments < Minitest::Test
-
1
def setup
-
3
@service = Fog::Resources::AzureRM.new(credentials)
-
3
@rmc_client = @service.instance_variable_get(:@rmc)
-
3
@deployments = Fog::Resources::AzureRM::Deployments.new(resource_group: 'fog-test-rg', service: @service)
-
3
@response = ApiStub::Models::Resources::Deployment.list_deployments_response(@rmc_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @deployments, method
-
end
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_deployments, @response do
-
1
assert_instance_of Fog::Resources::AzureRM::Deployments, @deployments.all
-
1
assert @deployments.all.size >= 1
-
1
@deployments.all.each do |deployment|
-
1
assert_instance_of Fog::Resources::AzureRM::Deployment, deployment
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Resources::Deployment.create_deployment_response(@rmc_client)
-
1
@service.stub :get_deployment, response do
-
1
assert_instance_of Fog::Resources::AzureRM::Deployment, @deployments.get('fog-test-rg', 'fog-test-deployment')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Resource Model
-
1
class TestResource < Minitest::Test
-
1
def setup
-
1
@service = Fog::Resources::AzureRM.new(credentials)
-
1
@resource = Fog::Resources::AzureRM::AzureResource.new
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:id,
-
:name,
-
:type,
-
:location,
-
:tags
-
]
-
1
attributes.each do |attribute|
-
5
assert_respond_to @resource, attribute
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Resource Group Model
-
1
class TestResourceGroup < Minitest::Test
-
1
def setup
-
4
@service = Fog::Resources::AzureRM.new(credentials)
-
4
client = @service.instance_variable_get(:@rmc)
-
4
@resource_group = resource_group(@service)
-
4
@response = ApiStub::Models::Resources::ResourceGroup.create_resource_group_response(client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @resource_group, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:id,
-
:name,
-
:location
-
]
-
1
attributes.each do |attribute|
-
3
assert_respond_to @resource_group, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_resource_group, @response do
-
1
assert_instance_of Fog::Resources::AzureRM::ResourceGroup, @resource_group.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_resource_group, @response do
-
1
assert @resource_group.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Resource Groups Collection
-
1
class TestResourceGroups < Minitest::Test
-
1
def setup
-
3
@service = Fog::Resources::AzureRM.new(credentials)
-
3
@rmc_client = @service.instance_variable_get(:@rmc)
-
3
@resource_groups = Fog::Resources::AzureRM::ResourceGroups.new(service: @service)
-
3
@response = ApiStub::Models::Resources::ResourceGroup.create_resource_group_response(@rmc_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @resource_groups, method
-
end
-
end
-
-
1
def test_all_method_response
-
1
response = [@response]
-
1
@service.stub :list_resource_groups, response do
-
1
assert_instance_of Fog::Resources::AzureRM::ResourceGroups, @resource_groups.all
-
1
assert @resource_groups.all.size >= 1
-
1
@resource_groups.all.each do |s|
-
1
assert_instance_of Fog::Resources::AzureRM::ResourceGroup, s
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_resource_group, @response do
-
1
assert_instance_of Fog::Resources::AzureRM::ResourceGroup, @resource_groups.get('fog-test-rg')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Resources Collection
-
1
class TestResources < Minitest::Test
-
1
def setup
-
3
@service = Fog::Resources::AzureRM.new(credentials)
-
3
client = @service.instance_variable_get(:@rmc)
-
3
@resources = Fog::Resources::AzureRM::AzureResources.new(service: @service, tag_name: 'tag_name', tag_value: 'tag_value')
-
3
@response = ApiStub::Models::Resources::Resource.list_resources_response(client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @resources, method
-
end
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_tagged_resources, @response do
-
1
assert_instance_of Fog::Resources::AzureRM::AzureResources, @resources.all
-
1
assert @resources.all.size >= 1
-
1
@resources.all.each do |r|
-
1
assert_instance_of Fog::Resources::AzureRM::AzureResource, r
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :list_tagged_resources, @response do
-
1
resource_id = '/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}'
-
1
assert_instance_of Fog::Resources::AzureRM::AzureResource, @resources.get(resource_id)
-
1
assert @resources.get('wrong-resource-id').nil?
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Database Model
-
1
class TestDatabase < Minitest::Test
-
1
def setup
-
5
@service = Fog::Sql::AzureRM.new(credentials)
-
5
@database = database(@service)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @database, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:resource_group,
-
:server_name,
-
:type,
-
:collation,
-
:create_mode,
-
:creation_date,
-
:current_service_level_objective_id,
-
:database_id,
-
:default_secondary_location,
-
:edition,
-
:earliest_restore_date,
-
:elastic_pool_name,
-
:location,
-
:max_size_bytes,
-
:requested_service_objective_id,
-
:requested_service_objective_name,
-
:restore_point_in_time,
-
:service_level_objective,
-
:source_database_id,
-
:source_database_deletion_date
-
]
-
1
attributes.each do |attribute|
-
22
assert_respond_to @database, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
create_response = ApiStub::Models::Sql::SqlDatabase.create_database
-
1
@service.stub :create_or_update_database, create_response do
-
1
assert_instance_of Fog::Sql::AzureRM::SqlDatabase, @database.save
-
end
-
end
-
-
1
def test_destroy_method_true_response
-
1
@service.stub :delete_database, true do
-
1
assert @database.destroy
-
end
-
end
-
-
1
def test_destroy_method_false_response
-
1
@service.stub :delete_database, false do
-
1
assert !@database.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Database Collection
-
1
class TestDatabases < Minitest::Test
-
1
def setup
-
4
@service = Fog::Sql::AzureRM.new(credentials)
-
4
@databases = Fog::Sql::AzureRM::SqlDatabases.new(resource_group: 'fog-test-rg', server_name: 'fog-test-server-name', name: 'database-name', location: 'eastus', service: @service)
-
4
@list_database_response = [ApiStub::Models::Sql::SqlDatabase.create_database]
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @databases, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @databases, :resource_group
-
1
assert_respond_to @databases, :server_name
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_databases, @list_database_response do
-
1
assert_instance_of Fog::Sql::AzureRM::SqlDatabases, @databases.all
-
1
assert @databases.all.size >= 1
-
1
@databases.all.each do |s|
-
1
assert_instance_of Fog::Sql::AzureRM::SqlDatabase, s
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Sql::SqlDatabase.create_database
-
1
@service.stub :get_database, response do
-
1
assert_instance_of Fog::Sql::AzureRM::SqlDatabase, @databases.get('fog-test-rg', 'fog-test-server-name', 'fog-test-database-name')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Sql Server Firewall Rule Model
-
1
class TestFirewallRule < Minitest::Test
-
1
def setup
-
5
@service = Fog::Sql::AzureRM.new(credentials)
-
5
@firewall_rule = sql_server_firewall_rule(@service)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @firewall_rule, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:type,
-
:resource_group,
-
:location,
-
:start_ip,
-
:end_ip,
-
:server_name
-
]
-
1
attributes.each do |attribute|
-
8
assert_respond_to @firewall_rule, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
create_response = ApiStub::Models::Sql::SqlFirewallRule.create_firewall_rule
-
1
@service.stub :create_or_update_firewall_rule, create_response do
-
1
assert_instance_of Fog::Sql::AzureRM::FirewallRule, @firewall_rule.save
-
end
-
end
-
-
1
def test_destroy_method_true_response
-
1
@service.stub :delete_firewall_rule, true do
-
1
assert @firewall_rule.destroy
-
end
-
end
-
-
1
def test_destroy_method_false_response
-
1
@service.stub :delete_firewall_rule, false do
-
1
assert !@firewall_rule.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Sql Server Firewall Rule Collection
-
1
class TestFirewallRules < Minitest::Test
-
1
def setup
-
4
@service = Fog::Sql::AzureRM.new(credentials)
-
4
@firewall_rules = Fog::Sql::AzureRM::FirewallRules.new(resource_group: 'fog-test-rg', server_name: 'server-name', name: 'rule-name', start_ip: '10.10.10.10', end_ip: '10.10.10.11', service: @service)
-
4
@create_firewall_rule_response = ApiStub::Models::Sql::SqlFirewallRule.create_firewall_rule
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @firewall_rules, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @firewall_rules, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
list_firewall_rule_response = [@create_firewall_rule_response]
-
1
@service.stub :list_firewall_rules, list_firewall_rule_response do
-
1
assert_instance_of Fog::Sql::AzureRM::FirewallRules, @firewall_rules.all
-
1
assert @firewall_rules.all.size >= 1
-
1
@firewall_rules.all.each do |s|
-
1
assert_instance_of Fog::Sql::AzureRM::FirewallRule, s
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_firewall_rule, @create_firewall_rule_response do
-
1
assert_instance_of Fog::Sql::AzureRM::FirewallRule, @firewall_rules.get('fog-test-rg', 'fog-test-server-name', 'fog-test-rule-name')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Sql Server Model
-
1
class TestSqlServer < Minitest::Test
-
1
def setup
-
5
@service = Fog::Sql::AzureRM.new(credentials)
-
5
@sql_server = sql_server(@service)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @sql_server, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:type,
-
:resource_group,
-
:location,
-
:version,
-
:state,
-
:administrator_login,
-
:administrator_login_password,
-
:fully_qualified_domain_name
-
]
-
1
attributes.each do |attribute|
-
10
assert_respond_to @sql_server, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
create_response = ApiStub::Models::Sql::SqlServer.create_sql_server
-
1
@service.stub :create_or_update_sql_server, create_response do
-
1
assert_instance_of Fog::Sql::AzureRM::SqlServer, @sql_server.save
-
end
-
end
-
-
1
def test_destroy_method_true_response
-
1
@service.stub :delete_sql_server, true do
-
1
assert @sql_server.destroy
-
end
-
end
-
-
1
def test_destroy_method_false_response
-
1
@service.stub :delete_sql_server, false do
-
1
assert !@sql_server.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Sql Server Collection
-
1
class TestSqlServers < Minitest::Test
-
1
def setup
-
4
@service = Fog::Sql::AzureRM.new(credentials)
-
4
@sql_servers = Fog::Sql::AzureRM::SqlServers.new(resource_group: 'fog-test-rg', name: 'database-name', location: 'eastus', version: '2.0', administrator_login: 'test-admin', administrator_login_password: 'test-apase2', service: @service)
-
4
@list_sql_server_response = [ApiStub::Models::Sql::SqlServer.create_sql_server]
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @sql_servers, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @sql_servers, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_sql_servers, @list_sql_server_response do
-
1
assert_instance_of Fog::Sql::AzureRM::SqlServers, @sql_servers.all
-
1
assert @sql_servers.all.size >= 1
-
1
@sql_servers.all.each do |s|
-
1
assert_instance_of Fog::Sql::AzureRM::SqlServer, s
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Sql::SqlServer.create_sql_server
-
1
@service.stub :get_sql_server, response do
-
1
assert_instance_of Fog::Sql::AzureRM::SqlServer, @sql_servers.get('fog-test-rg', 'fog-test-server-name')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Data Disk Model
-
1
class TestDataDisk < Minitest::Test
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(credentials)
-
1
@data_disk = Fog::Storage::AzureRM::DataDisk.new
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:disk_size_gb,
-
:lun,
-
:vhd_uri,
-
:caching,
-
:create_option
-
]
-
1
attributes.each do |attribute|
-
6
assert_respond_to @data_disk, attribute
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Container Collection
-
1
class TestDirectories < Minitest::Test
-
1
def setup
-
11
Fog.mock!
-
11
@mock_service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
11
@mock_directories = Fog::Storage::AzureRM::Directories.new(service: @mock_service)
-
11
Fog.unmock!
-
11
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
11
@blob_client = @service.instance_variable_get(:@blob_client)
-
11
@directories = Fog::Storage::AzureRM::Directories.new(service: @service)
-
11
@get_metadata_result = ApiStub::Models::Storage::Directory.test_get_container_metadata
-
11
@list_results = ApiStub::Models::Storage::Directory.list_containers
-
11
@acl_results = ApiStub::Models::Storage::Directory.get_container_access_control_list
-
11
@mocked_response = mocked_storage_http_error
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:get_metadata,
-
:set_metadata,
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
4
assert_respond_to @directories, method
-
end
-
end
-
-
1
def test_all_method_http_exception
-
2
http_exception = -> (_option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :list_containers, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@directories.all
-
end
-
end
-
end
-
-
1
def test_all_method_mock
-
1
assert_instance_of Fog::Storage::AzureRM::Directories, @mock_directories.all
-
1
assert @mock_directories.all.size >= 1
-
1
@mock_directories.all.each do |directory|
-
2
assert_instance_of Fog::Storage::AzureRM::Directory, directory
-
end
-
end
-
-
1
def test_get_container_metadata
-
1
@service.stub :get_container_metadata, @get_metadata_result do
-
1
assert_equal @get_metadata_result, @directories.get_metadata('Test-container')
-
end
-
end
-
-
1
def test_get_container_metadata_http_exception
-
2
http_exception = -> (_container_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :get_container_metadata, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@directories.get_metadata 'Test-container'
-
end
-
end
-
end
-
-
1
def test_get_container_metadata_mock
-
1
directory = @mock_directories.get_metadata 'Test-container'
-
1
assert_instance_of Hash, directory
-
end
-
-
1
def test_set_container_metadata
-
1
@service.stub :set_container_metadata, true do
-
1
assert @directories.set_metadata('Test-container', @get_metadata_result)
-
end
-
end
-
-
1
def test_set_container_metadata_http_exception
-
2
http_exception = -> (_container_name, _metadata, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :set_container_metadata, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@directories.set_metadata 'Test-container', @get_metadata_result
-
end
-
end
-
end
-
-
1
def test_set_container_metadata_mock
-
1
assert @mock_directories.set_metadata('Test-container', @get_metadata_result)
-
end
-
-
1
def test_all_method
-
1
directories = Fog::Storage::AzureRM::Directories.new(service: @service)
-
1
@service.stub :list_containers, @list_results do
-
1
assert_instance_of Fog::Storage::AzureRM::Directories, directories.all
-
1
assert directories.all.size >= 1
-
1
directories.all.each do |directory|
-
3
assert_instance_of Fog::Storage::AzureRM::Directory, directory
-
end
-
end
-
end
-
-
1
def test_get_method
-
1
@service.stub :list_containers, @list_results do
-
1
@service.stub :get_container_access_control_list, @acl_results do
-
1
assert_instance_of Fog::Storage::AzureRM::Directory, @directories.get('testcontainer1')
-
1
assert @directories.get('wrong-name').nil?, true
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Storage Container Model
-
1
class TestDirectory < Minitest::Test
-
1
def setup
-
14
Fog.mock!
-
14
@mock_service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
14
@mock_directory = storage_container(@mock_service)
-
14
Fog.unmock!
-
14
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
14
@directory = storage_container(@service)
-
14
@create_result = ApiStub::Models::Storage::Directory.create_container
-
14
@get_properties_result = ApiStub::Models::Storage::Directory.get_container_properties
-
14
@get_access_control_list_result = ApiStub::Models::Storage::Directory.get_container_access_control_list
-
14
@blob_client = @service.instance_variable_get(:@blob_client)
-
14
@mocked_response = mocked_storage_http_error
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:create,
-
:destroy
-
]
-
1
methods.each do |method|
-
3
assert_respond_to @directory, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:key,
-
:etag,
-
:last_modified,
-
:lease_duration,
-
:lease_state,
-
:lease_status,
-
:metadata
-
]
-
1
@service.stub :create_container, @create_result do
-
1
attributes.each do |attribute|
-
7
assert_respond_to @directory, attribute
-
end
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_container, @create_result do
-
1
assert_instance_of Fog::Storage::AzureRM::Directory, @directory.save
-
end
-
1
@service.stub :create_container, @create_result do
-
1
assert_instance_of Fog::Storage::AzureRM::Directory, @directory.create
-
end
-
end
-
-
1
def test_save_http_exception
-
2
http_exception = -> (_container_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :create_container, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@directory.save
-
end
-
end
-
end
-
-
1
def test_save_mock
-
1
assert_instance_of Fog::Storage::AzureRM::Directory, @mock_directory.save
-
end
-
-
1
def test_get_container_properties_method_response
-
1
@service.stub :get_container_properties, @get_properties_result do
-
1
assert_instance_of Fog::Storage::AzureRM::Directory, @directory.get_properties
-
end
-
end
-
-
1
def test_get_container_properties_http_exception
-
2
http_exception = -> (_container_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :get_container_properties, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@directory.get_properties
-
end
-
end
-
end
-
-
1
def test_get_container_properties_mock
-
1
assert_instance_of Fog::Storage::AzureRM::Directory, @mock_directory.get_properties
-
end
-
-
1
def test_get_access_control_list_method_response
-
1
@service.stub :get_container_access_control_list, @get_access_control_list_result do
-
1
assert_instance_of Fog::Storage::AzureRM::Directory, @directory.access_control_list
-
end
-
end
-
-
1
def test_get_access_control_list_http_exception
-
2
http_exception = -> (_container_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :get_container_acl, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@directory.access_control_list
-
end
-
end
-
end
-
-
1
def test_get_access_control_list_mock
-
1
assert_instance_of Fog::Storage::AzureRM::Directory, @mock_directory.access_control_list
-
end
-
-
1
def test_delete_method_true_response
-
1
@service.stub :delete_container, true do
-
1
assert @directory.destroy
-
end
-
end
-
-
1
def test_delete_method_exception
-
2
exception = -> (_container_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :delete_container, exception do
-
1
assert_raises(RuntimeError) do
-
1
assert @directory.destroy
-
end
-
end
-
end
-
-
1
def test_delete_method_response_mock
-
1
assert @mock_directory.destroy
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Storage Container Model
-
1
class TestFile < Minitest::Test
-
1
def setup
-
26
Fog.mock!
-
26
@mock_service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
26
@mock_file = storage_blob(@mock_service)
-
26
Fog.unmock!
-
26
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
26
@file = storage_blob(@service)
-
26
@cloud_blob = storage_cloud_blob
-
26
@blob_client = @service.instance_variable_get(:@blob_client)
-
26
@mocked_response = mocked_storage_http_error
-
27263002
@content = Array.new(1024 * 1024) { 'a' }.join
-
26
@get_metadata_result = ApiStub::Models::Storage::File.test_get_blob_metadata
-
26
@create_result = ApiStub::Models::Storage::File.upload_block_blob_from_file
-
26
@download_result = ApiStub::Models::Storage::File.download_blob_to_file
-
26
@get_properties_result = ApiStub::Models::Storage::File.get_blob_properties
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:save_to_file,
-
:get_properties,
-
:set_properties,
-
:set_metadata,
-
:get_metadata,
-
:destroy
-
]
-
1
methods.each do |method|
-
7
assert_respond_to @file, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:key,
-
:accept_ranges,
-
:cache_control,
-
:committed_block_count,
-
:content_length,
-
:content_type,
-
:content_md5,
-
:content_encoding,
-
:content_language,
-
:content_disposition,
-
:copy_completion_time,
-
:copy_status,
-
:copy_status_description,
-
:copy_id,
-
:copy_progress,
-
:copy_source,
-
:directory,
-
:etag,
-
:file_path,
-
:last_modified,
-
:lease_duration,
-
:lease_state,
-
:lease_status,
-
:metadata,
-
:sequence_number,
-
:blob_type
-
]
-
1
attributes.each do |attribute|
-
26
assert_respond_to @file, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@file.file_path = 'test.txt'
-
1
@service.stub :upload_block_blob_from_file, @create_result do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @file.save
-
end
-
1
@service.stub :upload_block_blob_from_file, @create_result do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @file.create
-
end
-
end
-
-
1
def test_save_small_blob_method_response
-
1
small_file_name = 'small_test_file.dat'
-
1
small_file = File.new(small_file_name, 'w')
-
1
small_file.puts(@content)
-
1
small_file.close
-
1
@file.file_path = small_file_name
-
1
@blob_client.stub :create_block_blob, @create_result do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @file.create
-
end
-
2
io_exception = -> (_container_name, _blob_name, _file_path, _option) { raise IOError.new }
-
1
@blob_client.stub :create_block_blob, io_exception do
-
1
assert_raises(RuntimeError) do
-
1
@file.create
-
end
-
end
-
2
http_exception = -> (_container_name, _blob_name, _file_path, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :create_block_blob, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@file.create
-
end
-
end
-
1
File.delete(small_file_name)
-
end
-
-
1
def test_save_large_blob_method_response
-
1
large_file_name = 'large_test_file.dat'
-
1
large_file = File.new(large_file_name, 'w')
-
1
33.times do
-
33
large_file.puts(@content)
-
end
-
1
large_file.close
-
1
@file.file_path = large_file_name
-
1
@blob_client.stub :put_blob_block, true do
-
1
@blob_client.stub :commit_blob_blocks, nil do
-
1
@service.stub :get_blob_metadata, @create_result do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @file.create
-
end
-
end
-
end
-
1
File.delete(large_file_name)
-
end
-
-
1
def test_save_method_response_mock
-
1
@mock_file.file_path = 'mock_test.txt'
-
1
assert_instance_of Fog::Storage::AzureRM::File, @mock_file.save
-
end
-
-
1
def test_save_to_file
-
1
@service.stub :download_blob_to_file, @download_result do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @file.save_to_file('test.txt')
-
end
-
end
-
-
1
def test_save_to_file_io_exception
-
2
io_exception = -> (_container_name, _blob_name, _option) { raise IOError.new }
-
1
@blob_client.stub :get_blob, io_exception do
-
1
assert_raises(RuntimeError) do
-
1
@file.save_to_file('test.txt')
-
end
-
end
-
end
-
-
1
def test_save_to_file_http_exception
-
2
http_exception = -> (_container_name, _blob_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :get_blob, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@file.save_to_file('test.txt')
-
end
-
end
-
end
-
-
1
def test_save_to_file_mock
-
1
assert_instance_of Fog::Storage::AzureRM::File, @mock_file.save_to_file('test.txt')
-
end
-
-
1
def test_get_blob_properties
-
1
@service.stub :get_blob_properties, @get_properties_result do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @file.get_properties
-
end
-
end
-
-
1
def test_get_cloud_blob_properties
-
1
@service.stub :get_blob_properties, @cloud_blob do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @file.get_properties
-
end
-
end
-
-
1
def test_get_blob_properties_http_exception
-
2
http_exception = -> (_container_name, _blob_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :get_blob_properties, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@file.get_properties
-
end
-
end
-
end
-
-
1
def test_get_blob_properties_mock
-
1
assert_instance_of Fog::Storage::AzureRM::File, @mock_file.get_properties
-
end
-
-
1
def test_set_blob_properties
-
1
@service.stub :set_blob_properties, true do
-
1
assert @file.set_properties
-
end
-
end
-
-
1
def test_set_blob_properties_http_exception
-
2
http_exception = -> (_container_name, _blob_name, _properties) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :set_blob_properties, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@file.set_properties
-
end
-
end
-
end
-
-
1
def test_set_blob_properties_mock
-
1
assert @mock_file.set_properties
-
end
-
-
1
def test_get_blob_metadata
-
1
@service.stub :get_blob_metadata, @get_metadata_result do
-
1
file = @file.get_metadata
-
1
assert_instance_of Fog::Storage::AzureRM::File, file
-
1
assert_equal @get_metadata_result, file.metadata
-
end
-
end
-
-
1
def test_get_blob_metadata_http_exception
-
2
http_exception = -> (_container_name, _blob_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :get_blob_metadata, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@file.get_metadata
-
end
-
end
-
end
-
-
1
def test_get_blob_metadata_mock
-
1
blob = @mock_file.get_metadata
-
1
assert_instance_of Fog::Storage::AzureRM::File, blob
-
1
assert_equal @get_metadata_result, blob.metadata
-
end
-
-
1
def test_set_blob_metadata
-
1
@service.stub :set_blob_metadata, true do
-
1
assert @file.set_metadata(@get_metadata_result)
-
end
-
end
-
-
1
def test_set_blob_metadata_http_exception
-
2
http_exception = -> (_container_name, _blob_name, _metadata, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :set_blob_metadata, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@file.set_metadata @get_metadata_result
-
end
-
end
-
end
-
-
1
def test_set_blob_metadata_mock
-
1
assert @mock_file.set_metadata(@get_metadata_result)
-
end
-
-
1
def test_delete_method_true_response
-
1
@service.stub :delete_blob, true do
-
1
assert @file.destroy
-
end
-
end
-
-
1
def test_delete_method_exception
-
2
exception = -> (_container_name, _blob_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :delete_blob, exception do
-
1
assert_raises(RuntimeError) do
-
1
assert @file.destroy
-
end
-
end
-
end
-
-
1
def test_delete_method_response_mock
-
1
assert @mock_file.destroy
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Blob Collection
-
1
class TestFiles < Minitest::Test
-
1
def setup
-
6
Fog.mock!
-
6
@mock_service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
6
@mock_files = Fog::Storage::AzureRM::Files.new(directory: 'test-container', service: @mock_service)
-
6
Fog.unmock!
-
6
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
6
@blob_client = @service.instance_variable_get(:@blob_client)
-
6
@files = Fog::Storage::AzureRM::Files.new(directory: 'test-container', service: @service)
-
6
@mocked_response = mocked_storage_http_error
-
6
@list_results = ApiStub::Models::Storage::File.list_blobs
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @files, method
-
end
-
end
-
-
1
def test_all_method
-
1
@service.stub :list_blobs, @list_results do
-
1
assert_instance_of Fog::Storage::AzureRM::Files, @files.all
-
1
assert @files.all.size >= 1
-
1
@files.all.each do |file|
-
2
assert_instance_of Fog::Storage::AzureRM::File, file
-
end
-
end
-
end
-
-
1
def test_all_method_http_exception
-
2
http_exception = -> (_container_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) }
-
1
@blob_client.stub :list_blobs, http_exception do
-
1
assert_raises(RuntimeError) do
-
1
@files.all
-
end
-
end
-
end
-
-
1
def test_all_method_mock
-
1
assert_instance_of Fog::Storage::AzureRM::Files, @mock_files.all
-
1
assert @mock_files.all.size >= 1
-
1
@mock_files.all.each do |file|
-
2
assert_instance_of Fog::Storage::AzureRM::File, file
-
end
-
end
-
-
1
def test_get_method
-
1
@service.stub :list_blobs, @list_results do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @files.get('test-container', 'testblob1')
-
1
assert !@files.get('test-container', 'wrong-name').nil?
-
end
-
end
-
-
1
def test_get_method_mock
-
1
@service.stub :list_blobs, @list_results do
-
1
assert_instance_of Fog::Storage::AzureRM::File, @mock_files.get('test-container', 'testblob1')
-
1
assert !@mock_files.get('test-container', 'wrong-name').nil?
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Recovery Vault model
-
1
class TestRecoveryVault < Minitest::Test
-
1
def setup
-
6
@service = Fog::Storage::AzureRM.new(credentials)
-
6
@recovery_vault = recovery_vault(@service)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:enable_backup_protection,
-
:disable_backup_protection,
-
:start_backup,
-
:destroy
-
]
-
1
methods.each do |method|
-
5
assert_respond_to @recovery_vault, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:id,
-
:name,
-
:resource_group,
-
:location,
-
:type,
-
:sku_name
-
]
-
1
attributes.each do |attribute|
-
6
assert_respond_to @recovery_vault, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
create_response = ApiStub::Models::Storage::RecoveryVault.create_method_response
-
1
@service.stub :create_or_update_recovery_vault, create_response do
-
1
assert_instance_of Fog::Storage::AzureRM::RecoveryVault, @recovery_vault.save
-
end
-
end
-
-
1
def test_enable_backup_protection_method_response
-
1
@service.stub :enable_backup_protection, true do
-
1
assert @recovery_vault.enable_backup_protection('test-vm', 'test-vm-rg')
-
end
-
end
-
-
1
def test_disable_backup_protection_method_response
-
1
@service.stub :disable_backup_protection, true do
-
1
assert @recovery_vault.disable_backup_protection('test-vm', 'test-vm-rg')
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_recovery_vault, true do
-
1
assert @recovery_vault.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for RecoveryVault Collections
-
1
class TestRecoveryVaults < Minitest::Test
-
1
def setup
-
4
@service = Fog::Storage::AzureRM.new(credentials)
-
4
@recovery_vaults = Fog::Storage::AzureRM::RecoveryVaults.new(resource_group: 'fog-test-rg', service: @service)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @recovery_vaults, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
attributes = [
-
:resource_group,
-
:name
-
]
-
1
attributes.each do |attribute|
-
2
assert_respond_to @recovery_vaults, attribute
-
end
-
end
-
-
1
def test_all_method_response
-
1
response = [ApiStub::Models::Storage::RecoveryVault.create_method_response]
-
1
@service.stub :list_recovery_vaults, response do
-
1
assert_instance_of Fog::Storage::AzureRM::RecoveryVaults, @recovery_vaults.all
-
1
assert @recovery_vaults.all.size >= 1
-
1
@recovery_vaults.all.each do |recovery_vault|
-
1
assert_instance_of Fog::Storage::AzureRM::RecoveryVault, recovery_vault
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Storage::RecoveryVault.create_method_response
-
1
@service.stub :get_recovery_vault, response do
-
1
assert_instance_of Fog::Storage::AzureRM::RecoveryVault, @recovery_vaults.get('fog-test-rg', 'fog-test-vault')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
# Test class for Storage Account Model
-
1
class TestStorageAccount < Minitest::Test
-
1
def setup
-
7
@service = Fog::Storage::AzureRM.new(credentials)
-
7
@storage_mgmt_client = @service.instance_variable_get(:@storage_mgmt_client)
-
7
@storage_account = storage_account(@service)
-
7
@standard_lrs_storage_account = standard_lrs(@service)
-
7
@standard_invalid_replication = standard_check_for_invalid_replications(@service)
-
7
@premium_invalid_replication = premium_check_for_invalid_replications(@service)
-
7
@storage_account_response = ApiStub::Models::Storage::StorageAccount.create_storage_account(@storage_mgmt_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy,
-
:get_access_keys
-
]
-
1
methods.each do |method|
-
3
assert_respond_to @storage_account, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:location,
-
:resource_group,
-
:sku_name,
-
:replication,
-
:encryption
-
]
-
1
attributes.each do |attribute|
-
6
assert_respond_to @storage_account, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_storage_account, @storage_account_response do
-
1
assert_instance_of Fog::Storage::AzureRM::StorageAccount, @storage_account.save
-
end
-
1
@service.stub :create_storage_account, @storage_account_response do
-
1
assert_raises RuntimeError do
-
1
@standard_lrs_storage_account.save
-
end
-
end
-
1
@service.stub :create_storage_account, @storage_account_response do
-
1
assert_raises RuntimeError do
-
1
@standard_invalid_replication.save
-
end
-
end
-
1
@service.stub :create_storage_account, @storage_account_response do
-
1
assert_raises RuntimeError do
-
1
@premium_invalid_replication.save
-
end
-
end
-
end
-
-
1
def test_update_method_response
-
1
@service.stub :update_storage_account, @storage_account_response do
-
1
assert_instance_of Fog::Storage::AzureRM::StorageAccount, @storage_account.update({})
-
end
-
end
-
-
1
def test_get_access_keys_method_response
-
1
key1 = Azure::ARM::Storage::Models::StorageAccountKey.new
-
1
key1.key_name = 'key1'
-
1
key1.value = 'sfhyuiafhhfids0943'
-
1
key1.permissions = 'Full'
-
1
response = [key1]
-
1
@service.stub :get_storage_access_keys, response do
-
1
assert_equal @storage_account.get_access_keys, response
-
end
-
end
-
-
1
def test_destroy_method_true_response
-
1
@service.stub :delete_storage_account, true do
-
1
assert @storage_account.destroy
-
end
-
end
-
-
1
def test_destroy_method_false_response
-
1
@service.stub :delete_storage_account, false do
-
1
assert !@storage_account.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Availability Set Collection
-
1
class TestStorageAccounts < Minitest::Test
-
1
def setup
-
7
@service = Fog::Storage::AzureRM.new(credentials)
-
7
@storage_mgmt_client = @service.instance_variable_get(:@storage_mgmt_client)
-
7
@storage_accounts = Fog::Storage::AzureRM::StorageAccounts.new(resource_group: 'fog-test-rg', service: @service)
-
7
@list_storage_account_response = [ApiStub::Models::Storage::StorageAccount.create_storage_account(@storage_mgmt_client)]
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @storage_accounts, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @storage_accounts, :resource_group
-
end
-
-
1
def test_all_method_response_for_rg
-
1
@service.stub :list_storage_account_for_rg, @list_storage_account_response do
-
1
assert_instance_of Fog::Storage::AzureRM::StorageAccounts, @storage_accounts.all
-
1
assert @storage_accounts.all.size >= 1
-
1
@storage_accounts.all.each do |s|
-
1
assert_instance_of Fog::Storage::AzureRM::StorageAccount, s
-
end
-
end
-
end
-
-
1
def test_all_method_response
-
1
storage_accounts = Fog::Storage::AzureRM::StorageAccounts.new(service: @service)
-
1
@service.stub :list_storage_accounts, @list_storage_account_response do
-
1
assert_instance_of Fog::Storage::AzureRM::StorageAccounts, storage_accounts.all
-
1
assert storage_accounts.all.size >= 1
-
1
storage_accounts.all.each do |s|
-
1
assert_instance_of Fog::Storage::AzureRM::StorageAccount, s
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
response = ApiStub::Models::Storage::StorageAccount.create_storage_account(@storage_mgmt_client)
-
1
@service.stub :get_storage_account, response do
-
1
assert_instance_of Fog::Storage::AzureRM::StorageAccount, @storage_accounts.get('fog-test-rg', 'fog-test-storage-account')
-
end
-
end
-
-
1
def test_check_name_availability_true_case
-
1
@service.stub :check_storage_account_name_availability, true do
-
1
assert @storage_accounts.check_name_availability('fog-test-storage-account')
-
end
-
end
-
-
1
def test_check_name_availability_false_case
-
1
@service.stub :check_storage_account_name_availability, false do
-
1
assert !@storage_accounts.check_name_availability('fog-test-storage-account')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Traffic Manager End Point Model
-
1
class TestTrafficManagerEndPoint < Minitest::Test
-
1
def setup
-
4
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
4
@traffic_manager_end_point = traffic_manager_end_point(@service)
-
4
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @traffic_manager_end_point, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:traffic_manager_profile_name,
-
:id,
-
:resource_group,
-
:type,
-
:target_resource_id,
-
:target,
-
:endpoint_status,
-
:endpoint_monitor_status,
-
:weight,
-
:priority,
-
:endpoint_location,
-
:min_child_endpoints
-
]
-
1
attributes.each do |attribute|
-
13
assert_respond_to @traffic_manager_end_point, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
response = ApiStub::Models::TrafficManager::TrafficManagerEndPoint.create_traffic_manager_end_point_response(@traffic_manager_client)
-
1
@service.stub :create_or_update_traffic_manager_endpoint, response do
-
1
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerEndPoint, @traffic_manager_end_point.save
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_traffic_manager_endpoint, true do
-
1
assert @traffic_manager_end_point.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Traffic Manager End Point Collection
-
1
class TestTrafficManagerEndPoints < Minitest::Test
-
1
def setup
-
4
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
4
@traffic_manager_end_points = Fog::TrafficManager::AzureRM::TrafficManagerEndPoints.new(resource_group: 'fog-test-rg', traffic_manager_profile_name: 'fog-test-profile', service: @service)
-
4
traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
4
@response_endpoint = ApiStub::Models::TrafficManager::TrafficManagerEndPoint.create_traffic_manager_end_point_response(traffic_manager_client)
-
4
@response_endpoints = ApiStub::Models::TrafficManager::TrafficManagerProfile.traffic_manager_profile_response(traffic_manager_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @traffic_manager_end_points, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @traffic_manager_end_points, :resource_group
-
1
assert_respond_to @traffic_manager_end_points, :traffic_manager_profile_name
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :get_traffic_manager_profile, @response_endpoints do
-
1
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerEndPoints, @traffic_manager_end_points.all
-
1
assert @traffic_manager_end_points.all.size >= 1
-
1
@traffic_manager_end_points.all.each do |endpoint|
-
3
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerEndPoint, endpoint
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_traffic_manager_end_point, @response_endpoint do
-
1
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerEndPoint, @traffic_manager_end_points.get('resource-group-name', 'profile-name', 'endpoint-name1', 'endpoint-type')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Traffic Manager Profile Model
-
1
class TestTrafficManagerProfile < Minitest::Test
-
1
def setup
-
5
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
5
@traffic_manager_profile = traffic_manager_profile(@service)
-
5
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
5
@traffic_manager_profile_response = ApiStub::Models::TrafficManager::TrafficManagerProfile.traffic_manager_profile_response(@traffic_manager_client)
-
end
-
-
1
def test_model_methods
-
1
methods = [
-
:save,
-
:destroy,
-
:update
-
]
-
1
methods.each do |method|
-
3
assert_respond_to @traffic_manager_profile, method
-
end
-
end
-
-
1
def test_model_attributes
-
1
attributes = [
-
:name,
-
:id,
-
:resource_group,
-
:location,
-
:profile_status,
-
:traffic_routing_method,
-
:relative_name,
-
:fqdn,
-
:ttl,
-
:profile_monitor_status,
-
:protocol,
-
:port,
-
:path,
-
:endpoints
-
]
-
1
attributes.each do |attribute|
-
14
assert_respond_to @traffic_manager_profile, attribute
-
end
-
end
-
-
1
def test_save_method_response
-
1
@service.stub :create_or_update_traffic_manager_profile, @traffic_manager_profile_response do
-
1
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerProfile, @traffic_manager_profile.save
-
end
-
end
-
-
1
def test_update_method_response
-
1
@service.stub :create_or_update_traffic_manager_profile, @traffic_manager_profile_response do
-
1
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerProfile, @traffic_manager_profile.update({})
-
end
-
end
-
-
1
def test_destroy_method_response
-
1
@service.stub :delete_traffic_manager_profile, true do
-
1
assert @traffic_manager_profile.destroy
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Traffic Manager Profile Collection
-
1
class TestTrafficManagerProfiles < Minitest::Test
-
1
def setup
-
4
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
4
@traffic_manager_profiles = Fog::TrafficManager::AzureRM::TrafficManagerProfiles.new(resource_group: 'fog-test-rg', service: @service)
-
4
traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
4
@profiles_list = [ApiStub::Models::TrafficManager::TrafficManagerProfile.traffic_manager_profile_response(traffic_manager_client)]
-
4
@profile = ApiStub::Models::TrafficManager::TrafficManagerProfile.traffic_manager_profile_response(traffic_manager_client)
-
end
-
-
1
def test_collection_methods
-
1
methods = [
-
:all,
-
:get
-
]
-
1
methods.each do |method|
-
2
assert_respond_to @traffic_manager_profiles, method
-
end
-
end
-
-
1
def test_collection_attributes
-
1
assert_respond_to @traffic_manager_profiles, :resource_group
-
end
-
-
1
def test_all_method_response
-
1
@service.stub :list_traffic_manager_profiles, @profiles_list do
-
1
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerProfiles, @traffic_manager_profiles.all
-
1
assert @traffic_manager_profiles.all.size >= 1
-
1
@traffic_manager_profiles.all.each do |endpoint|
-
1
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerProfile, endpoint
-
end
-
end
-
end
-
-
1
def test_get_method_response
-
1
@service.stub :get_traffic_manager_profile, @profile do
-
1
assert_instance_of Fog::TrafficManager::AzureRM::TrafficManagerProfile, @traffic_manager_profiles.get('resource-group-name', 'fog-test-profile-name')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Application Gateway Request
-
1
class TestCreateOrUpdateApplicationGateway < Minitest::Test
-
1
def setup
-
3
@service = Fog::ApplicationGateway::AzureRM.new(credentials)
-
3
gateway_client = @service.instance_variable_get(:@network_client)
-
3
@gateways = gateway_client.application_gateways
-
3
@response = ApiStub::Requests::ApplicationGateway::Gateway.create_application_gateway_response(gateway_client)
-
3
@gateway_params = ApiStub::Requests::ApplicationGateway::Gateway.gateway_params
-
end
-
-
1
def test_create_or_update_application_gateway_success
-
1
@gateways.stub :create_or_update, @response do
-
1
assert_equal @service.create_or_update_application_gateway(@gateway_params), @response
-
end
-
end
-
-
1
def test_create_or_update_application_gateway_argument_error_failure
-
1
@gateways.stub :create_or_update, @response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_application_gateway('gateway', 'East US', 'fogRM-rg', 'Standard_Medium', 'Standard', 2)
-
end
-
end
-
end
-
-
1
def test_create_or_update_application_gateway_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateways.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_application_gateway(@gateway_params)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Application Gateway Request
-
1
class TestDeleteApplicationGateway < Minitest::Test
-
1
def setup
-
2
@service = Fog::ApplicationGateway::AzureRM.new(credentials)
-
2
gateway_client = @service.instance_variable_get(:@network_client)
-
2
@gateways = gateway_client.application_gateways
-
end
-
-
1
def test_delete_application_gateway_success
-
1
@gateways.stub :delete, true do
-
1
assert @service.delete_application_gateway('fogRM-rg', 'gateway'), true
-
end
-
end
-
-
1
def test_delete_application_gateway_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateways.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_application_gateway('fogRM-rg', 'gateway') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Application Gateway Request
-
1
class TestGetApplicationGateway < Minitest::Test
-
1
def setup
-
2
@service = Fog::ApplicationGateway::AzureRM.new(credentials)
-
2
@gateway_client = @service.instance_variable_get(:@network_client)
-
2
@gateways = @gateway_client.application_gateways
-
end
-
-
1
def test_get_application_gateway_success
-
1
mocked_response = ApiStub::Requests::ApplicationGateway::Gateway.create_application_gateway_response(@gateway_client)
-
1
@gateways.stub :get, mocked_response do
-
1
assert_equal @service.get_application_gateway('fog-test-rg', 'fogRM-rg'), mocked_response
-
end
-
end
-
-
1
def test_get_application_gateway_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateways.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_application_gateway('fog-test-rg', 'fogRM-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Application Gateway Request
-
1
class TestListApplicationGateways < Minitest::Test
-
1
def setup
-
2
@service = Fog::ApplicationGateway::AzureRM.new(credentials)
-
2
@gateway_client = @service.instance_variable_get(:@network_client)
-
2
@gateways = @gateway_client.application_gateways
-
end
-
-
1
def test_list_application_gateways_success
-
1
mocked_response = ApiStub::Requests::ApplicationGateway::Gateway.list_application_gateway_response(@gateway_client)
-
1
@gateways.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_application_gateways('fogRM-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_application_gateways_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateways.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_application_gateways('fogRM-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Start Application Gateway Request
-
1
class TestStartApplicationGateway < Minitest::Test
-
1
def setup
-
2
@service = Fog::ApplicationGateway::AzureRM.new(credentials)
-
2
gateway_client = @service.instance_variable_get(:@network_client)
-
2
@gateways = gateway_client.application_gateways
-
end
-
-
1
def test_start_application_gateway_success
-
1
@gateways.stub :start, nil do
-
1
assert_equal @service.start_application_gateway('test-rg', 'test-ag'), true
-
end
-
end
-
-
1
def test_start_application_gateway_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateways.stub :start, response do
-
1
assert_raises RuntimeError do
-
1
@service.start_application_gateway('test-rg', 'test-ag')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Stop Application Gateway Request
-
1
class TestStopApplicationGateway < Minitest::Test
-
1
def setup
-
2
@service = Fog::ApplicationGateway::AzureRM.new(credentials)
-
2
gateway_client = @service.instance_variable_get(:@network_client)
-
2
@gateways = gateway_client.application_gateways
-
end
-
-
1
def test_stop_application_gateway_success
-
1
@gateways.stub :stop, nil do
-
1
assert_equal @service.stop_application_gateway('test-rg', 'test-ag'), true
-
end
-
end
-
-
1
def test_stop_application_gateway_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateways.stub :stop, response do
-
1
assert_raises RuntimeError do
-
1
@service.stop_application_gateway('test-rg', 'test-ag')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Attach Data Disk to VM Request
-
1
class TestAttachDataDiskToVM < Minitest::Test
-
1
def setup
-
6
@service = Fog::Compute::AzureRM.new(credentials)
-
6
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
6
storage_client = @service.instance_variable_get(:@storage_mgmt_client)
-
6
@virtual_machines = @compute_client.virtual_machines
-
6
@storage_accounts = storage_client.storage_accounts
-
6
@get_vm_response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_response(@compute_client)
-
6
@update_vm_response = ApiStub::Requests::Compute::VirtualMachine.update_virtual_machine_response(@compute_client)
-
6
@storage_access_keys_response = ApiStub::Requests::Storage::StorageAccount.list_keys_response
-
end
-
-
1
def test_attach_data_disk_to_vm_success
-
1
@virtual_machines.stub :get, @get_vm_response do
-
1
@storage_accounts.stub :list_keys, @storage_access_keys_response do
-
1
@virtual_machines.stub :create_or_update, @update_vm_response do
-
1
@service.stub :check_blob_exist, true do
-
1
assert_equal @service.attach_data_disk_to_vm('fog-test-rg', 'fog-test-vm', 'disk1', 1, 'mystorage1'), @update_vm_response
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_attach_data_disk_to_vm_failure
-
1
get_vm_response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_15_data_disks_response(@compute_client)
-
1
@virtual_machines.stub :get, get_vm_response do
-
1
@storage_accounts.stub :list_keys, @storage_access_keys_response do
-
1
@virtual_machines.stub :create_or_update, @update_vm_response do
-
1
@service.stub :check_blob_exist, true do
-
1
assert_raises RuntimeError do
-
1
@service.attach_data_disk_to_vm('fog-test-rg', 'fog-test-vm', 'disk1', 1, 'mystorage1')
-
end
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_update_vm_failure
-
2
update_vm_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :get, @get_vm_response do
-
1
@storage_accounts.stub :list_keys, @storage_access_keys_response do
-
1
@virtual_machines.stub :create_or_update, update_vm_response do
-
1
@service.stub :check_blob_exist, true do
-
1
assert_raises RuntimeError do
-
1
@service.attach_data_disk_to_vm('fog-test-rg', 'fog-test-vm', 'disk1', 1, 'mystorage1')
-
end
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_update_vm_blob_not_exist_failure
-
2
update_vm_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :get, @get_vm_response do
-
1
@storage_accounts.stub :list_keys, @storage_access_keys_response do
-
1
@virtual_machines.stub :create_or_update, update_vm_response do
-
1
@service.stub :check_blob_exist, false do
-
1
assert_raises RuntimeError do
-
1
@service.attach_data_disk_to_vm('fog-test-rg', 'fog-test-vm', 'disk1', 1, 'mystorage1')
-
end
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_get_vm_failure
-
2
get_vm_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :get, get_vm_response do
-
1
assert_raises RuntimeError do
-
1
@service.attach_data_disk_to_vm('fog-test-rg', 'fog-test-vm', 'disk1', 1, 'mystorage1')
-
end
-
end
-
end
-
-
1
def test_get_storage_key_failure
-
2
storage_access_keys_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :get, @get_vm_response do
-
1
@storage_accounts.stub :list_keys, storage_access_keys_response do
-
1
assert_raises RuntimeError do
-
1
@service.attach_data_disk_to_vm('fog-test-rg', 'fog-test-vm', 'disk1', 1, 'mystorage1')
-
end
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Availability Set Request
-
1
class TestCreateAvailabilitySet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@availability_sets = @client.availability_sets
-
end
-
-
1
def test_create_availability_set_success
-
1
mocked_response = ApiStub::Requests::Compute::AvailabilitySet.create_availability_set_response(@client)
-
1
@availability_sets.stub :validate_params, true do
-
1
@availability_sets.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_availability_set('fog-test-rg', 'myavset1', 'west us'), mocked_response
-
end
-
end
-
end
-
-
1
def test_create_availability_set_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@availability_sets.stub :validate_params, true do
-
1
@availability_sets.stub :create_or_update, response do
-
2
assert_raises(RuntimeError) { @service.create_availability_set('fog-test-rg', 'fog-test-as', 'west us') }
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Virtual Machine Request
-
1
class TestCreateVirtualMachine < Minitest::Test
-
1
def setup
-
7
@service = Fog::Compute::AzureRM.new(credentials)
-
7
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
7
@virtual_machines = compute_client.virtual_machines
-
7
@response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_response(compute_client)
-
7
@custom_data_response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_with_custom_data_response(compute_client)
-
7
@linux_virtual_machine_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_params
-
7
@windows_virtual_machine_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_params
-
end
-
-
1
def test_create_linux_virtual_machine_success
-
1
@virtual_machines.stub :create_or_update, @response do
-
1
assert_equal @service.create_virtual_machine(@linux_virtual_machine_hash), @response
-
end
-
end
-
-
1
def test_create_windows_virtual_machine_success
-
1
@virtual_machines.stub :create_or_update, @response do
-
1
assert_equal @service.create_virtual_machine(@windows_virtual_machine_hash), @response
-
end
-
end
-
-
1
def test_create_linux_virtual_machine_from_custom_image_success
-
1
linux_virtual_machine_with_custom_image_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_with_custom_image_params
-
1
@virtual_machines.stub :create_or_update, @response do
-
1
assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_image_hash), @response
-
end
-
end
-
-
1
def test_create_windows_virtual_machine_from_custom_image_success
-
1
windows_virtual_machine_with_custom_image_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_with_custom_image_params
-
1
@virtual_machines.stub :create_or_update, @response do
-
1
assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_image_hash), @response
-
end
-
end
-
-
1
def test_create_linux_virtual_machine_with_custom_data_success
-
1
linux_virtual_machine_with_custom_data_hash = ApiStub::Requests::Compute::VirtualMachine.linux_virtual_machine_with_custom_data_params
-
1
@virtual_machines.stub :create_or_update, @custom_data_response do
-
1
assert_equal @service.create_virtual_machine(linux_virtual_machine_with_custom_data_hash), @custom_data_response
-
end
-
end
-
-
1
def test_create_windows_virtual_machine_with_custom_data_success
-
1
windows_virtual_machine_with_custom_data_hash = ApiStub::Requests::Compute::VirtualMachine.windows_virtual_machine_with_custom_data_params
-
1
@virtual_machines.stub :create_or_update, @custom_data_response do
-
1
assert_equal @service.create_virtual_machine(windows_virtual_machine_with_custom_data_hash), @custom_data_response
-
end
-
end
-
-
1
def test_create_virtual_machine_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_virtual_machine(@linux_virtual_machine_hash)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create VM Extension request
-
1
class TestCreateVMExtension < Minitest::Test
-
1
def setup
-
3
@service = Fog::Compute::AzureRM.new(credentials)
-
3
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
3
@vm_extension = compute_client.virtual_machine_extensions
-
3
@response = ApiStub::Requests::Compute::VirtualMachineExtension.create_vm_extension_response(compute_client)
-
3
@vm_extension_params = ApiStub::Requests::Compute::VirtualMachineExtension.vm_extension_params
-
end
-
-
1
def test_create_vm_extension_success
-
1
@vm_extension.stub :create_or_update, @response do
-
1
assert_equal @service.create_or_update_vm_extension(@vm_extension_params), @response
-
end
-
end
-
-
1
def test_create_vm_extension_argument_error
-
1
@vm_extension.stub :create_or_update, @response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_vm_extension
-
end
-
end
-
end
-
-
1
def test_create_vm_extension_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@vm_extension.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_vm_extension(@vm_extension_params)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Deallocate Virtual Machine Request
-
1
class TestDeallocateVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = compute_client.virtual_machines
-
end
-
-
1
def test_deallocate_virtual_machine_success
-
1
@virtual_machines.stub :deallocate, true do
-
1
assert @service.deallocate_virtual_machine('fog-test-rg', 'fog-test-server')
-
end
-
end
-
-
1
def test_deallocate_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :deallocate, response do
-
2
assert_raises(RuntimeError) { @service.deallocate_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Availability Set Request
-
1
class TestDeleteAvailabilitySet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@availability_sets = client.availability_sets
-
end
-
-
1
def test_delete_availability_set_success
-
1
@availability_sets.stub :delete, true do
-
1
assert @service.delete_availability_set('fog-test-rg', 'fog-test-as')
-
end
-
end
-
-
1
def test_delete_availability_set_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@availability_sets.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_availability_set('fog-test-rg', 'fog-test-as') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Virtual Machine Request
-
1
class TestDeleteVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = compute_client.virtual_machines
-
end
-
-
1
def test_delete_virtual_machine_success
-
1
@virtual_machines.stub :delete, true do
-
1
assert @service.delete_virtual_machine('fog-test-rg', 'fog-test-server')
-
end
-
end
-
-
1
def test_delete_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Detach Data Disk from VM Request
-
1
class TestDetachDataDiskFromVM < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = @compute_client.virtual_machines
-
end
-
-
1
def test_detach_data_disk_from_vm_success
-
1
get_vm_response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_response(@compute_client)
-
1
update_vm_response = ApiStub::Requests::Compute::VirtualMachine.detach_data_disk_from_vm_response(@compute_client)
-
1
@virtual_machines.stub :get, get_vm_response do
-
1
@virtual_machines.stub :create_or_update, update_vm_response do
-
1
assert_equal @service.detach_data_disk_from_vm('fog-test-rg', 'fog-test-vm', 'mydatadisk1'), update_vm_response
-
end
-
end
-
end
-
-
1
def test_detach_data_disk_from_vm_failure
-
1
get_vm_response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_response(@compute_client)
-
2
update_vm_response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :get, get_vm_response do
-
1
@virtual_machines.stub :create_or_update, update_vm_response do
-
1
assert_raises RuntimeError do
-
1
@service.detach_data_disk_from_vm('fog-test-rg', 'fog-test-vm', 'mydatadisk1')
-
end
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Generalize Virtual Machine Request
-
1
class TestGeneralizeVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = compute_client.virtual_machines
-
end
-
-
1
def test_generalize_virtual_machine_success
-
1
@virtual_machines.stub :generalize, true do
-
1
assert @service.generalize_virtual_machine('fog-test-rg', 'fog-test-server')
-
end
-
end
-
-
1
def test_generalize_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :generalize, response do
-
2
assert_raises(RuntimeError) { @service.generalize_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Availability Sets Request
-
1
class TestGetAvailabilitySet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@availability_sets = @client.availability_sets
-
end
-
-
1
def test_list_availability_set_success
-
1
mocked_response = ApiStub::Requests::Compute::AvailabilitySet.get_availability_set_response(@client)
-
1
@availability_sets.stub :get, mocked_response do
-
1
assert_equal @service.get_availability_set('myrg1', 'myavset1'), mocked_response
-
end
-
end
-
-
1
def test_list_availability_set_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@availability_sets.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_availability_set('myrg1', 'myavset1') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Virtual Machine Request
-
1
class TestGetVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = @compute_client.virtual_machines
-
end
-
-
1
def test_get_virtual_machine_success
-
1
response = ApiStub::Requests::Compute::VirtualMachine.create_virtual_machine_response(@compute_client)
-
1
@virtual_machines.stub :get, response do
-
1
assert_equal @service.get_virtual_machine('fog-test-rg', 'fog-test-server'), response
-
end
-
end
-
-
1
def test_get_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get VM Extension request
-
1
class TestGetVMExtension < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@vm_extension = @compute_client.virtual_machine_extensions
-
end
-
-
1
def test_get_vm_extension_success
-
1
response = ApiStub::Requests::Compute::VirtualMachineExtension.create_vm_extension_response(@compute_client)
-
1
@vm_extension.stub :get, response do
-
1
assert_equal @service.get_vm_extension('fog-test-rg', 'fog-test-vm', 'fog-test-extension'), response
-
end
-
end
-
-
1
def test_update_vm_extension_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@vm_extension.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.get_vm_extension('fog-test-rg', 'fog-test-vm', 'fog-test-extension')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Virtual Machine Request
-
1
class TestGetVirtualMachineStatus < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = @compute_client.virtual_machines
-
end
-
-
1
def test_vm_status_success
-
1
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_instance_view_response(@compute_client)
-
1
compare_result = ApiStub::Requests::Compute::VirtualMachine.vm_status_response
-
1
@virtual_machines.stub :get, response do
-
1
assert_equal @service.check_vm_status('fog-test-rg', 'fog-test-server'), compare_result
-
end
-
end
-
-
1
def test_vm_status_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.check_vm_status('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Availability Sets Request
-
1
class TestListAvailabilitySet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@availability_sets = @client.availability_sets
-
end
-
-
1
def test_list_availability_set_success
-
1
mocked_response = ApiStub::Requests::Compute::AvailabilitySet.list_availability_set_response(@client)
-
1
@availability_sets.stub :list, mocked_response do
-
1
assert_equal @service.list_availability_sets('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_availability_set_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@availability_sets.stub :list, response do
-
2
assert_raises(RuntimeError) { @service.list_availability_sets('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Available Sizes For VirtualMachine Request
-
1
class TestListAvailableSizesForVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = @compute_client.virtual_machines
-
end
-
-
1
def test_list_available_sizes_for_virtual_machine_success
-
1
response = ApiStub::Requests::Compute::VirtualMachine.list_available_sizes_for_virtual_machine_response(@compute_client)
-
1
@virtual_machines.stub :list_available_sizes, response do
-
1
assert_equal @service.list_available_sizes_for_virtual_machine('fog-test-rg', 'fog-test-server'), response.value
-
end
-
end
-
-
1
def test_list_available_sizes_for_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :list_available_sizes, response do
-
2
assert_raises(RuntimeError) { @service.list_available_sizes_for_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Virtual Machines Request
-
1
class TestListVirtualMachines < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
@compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = @compute_client.virtual_machines
-
end
-
-
1
def test_list_virtual_machines_success
-
1
response = ApiStub::Requests::Compute::VirtualMachine.list_virtual_machines_response(@compute_client)
-
1
@virtual_machines.stub :list_as_lazy, response do
-
1
assert_equal @service.list_virtual_machines('fog-test-rg'), response.value
-
end
-
end
-
-
1
def test_list_virtual_machines_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_virtual_machines('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for PowerOff Virtual Machine Request
-
1
class TestPowerOffVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = compute_client.virtual_machines
-
end
-
-
1
def test_power_off_virtual_machine_success
-
1
@virtual_machines.stub :power_off, true do
-
1
assert @service.power_off_virtual_machine('fog-test-rg', 'fog-test-server')
-
end
-
end
-
-
1
def test_power_off_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :power_off, response do
-
2
assert_raises(RuntimeError) { @service.power_off_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Redeploy Virtual Machine Request
-
1
class TestRedeployVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = compute_client.virtual_machines
-
end
-
-
1
def test_redeploy_virtual_machine_success
-
1
@virtual_machines.stub :redeploy, true do
-
1
assert @service.redeploy_virtual_machine('fog-test-rg', 'fog-test-server')
-
end
-
end
-
-
1
def test_redeploy_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :redeploy, response do
-
2
assert_raises(RuntimeError) { @service.redeploy_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Restart Virtual Machine Request
-
1
class TestRestartVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = compute_client.virtual_machines
-
end
-
-
1
def test_restart_virtual_machine_success
-
1
@virtual_machines.stub :restart, true do
-
1
assert @service.restart_virtual_machine('fog-test-rg', 'fog-test-server')
-
end
-
end
-
-
1
def test_restart_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :restart, response do
-
2
assert_raises(RuntimeError) { @service.restart_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Start Virtual Machine Request
-
1
class TestStartVirtualMachine < Minitest::Test
-
1
def setup
-
2
@service = Fog::Compute::AzureRM.new(credentials)
-
2
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
2
@virtual_machines = compute_client.virtual_machines
-
end
-
-
1
def test_start_virtual_machine_success
-
1
@virtual_machines.stub :start, true do
-
1
assert @service.start_virtual_machine('fog-test-rg', 'fog-test-server')
-
end
-
end
-
-
1
def test_start_virtual_machine_failure
-
2
response = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_machines.stub :start, response do
-
2
assert_raises(RuntimeError) { @service.start_virtual_machine('fog-test-rg', 'fog-test-server') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Update VM Extension request
-
1
class TestUpdateVMExtension < Minitest::Test
-
1
def setup
-
3
@service = Fog::Compute::AzureRM.new(credentials)
-
3
compute_client = @service.instance_variable_get(:@compute_mgmt_client)
-
3
@vm_extension = compute_client.virtual_machine_extensions
-
3
@response = ApiStub::Requests::Compute::VirtualMachineExtension.create_vm_extension_response(compute_client)
-
3
@vm_extension_hash = ApiStub::Requests::Compute::VirtualMachineExtension.vm_extension_params
-
end
-
-
1
def test_update_vm_extension_success
-
1
@vm_extension.stub :create_or_update, @response do
-
1
assert_equal @service.create_or_update_vm_extension(@vm_extension_hash), @response
-
end
-
end
-
-
1
def test_update_vm_extension_argument_error
-
1
@vm_extension.stub :create_or_update, @response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_vm_extension
-
end
-
end
-
end
-
-
1
def test_update_vm_extension_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@vm_extension.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_vm_extension(@vm_extension_hash)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Check for Zone Request
-
1
class TestCheckForZone < Minitest::Test
-
1
def setup
-
2
@service = Fog::DNS::AzureRM.new(credentials)
-
2
@dns_client = @service.instance_variable_get(:@dns_client)
-
2
@zones = @dns_client.zones
-
end
-
-
1
def test_check_for_zone_success
-
1
mocked_response = ApiStub::Requests::DNS::Zone.zone_response(@dns_client)
-
1
@zones.stub :get, mocked_response do
-
1
assert_equal @service.check_for_zone('fog-test-rg', 'fog-test-zone'), true
-
end
-
end
-
-
1
def test_check_for_zone_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@zones.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.check_for_zone('fog-test-rg', 'fog-test-zone') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Record Set Request
-
1
class TestCreateRecordSet < Minitest::Test
-
1
def setup
-
4
@service = Fog::DNS::AzureRM.new(credentials)
-
4
@dns_client = @service.instance_variable_get(:@dns_client)
-
4
@record_sets = @dns_client.record_sets
-
end
-
-
1
def test_create_or_update_record_set_a_type
-
1
mocked_response = ApiStub::Requests::DNS::RecordSet.record_set_response_for_a_type_response(@dns_client)
-
1
record_set_params = { records: %w(1.2.3.4 1.2.3.3) }
-
1
@record_sets.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_record_set(record_set_params, 'A'), mocked_response
-
end
-
end
-
-
1
def test_create_or_update_record_set_cname_type
-
1
mocked_response = ApiStub::Requests::DNS::RecordSet.record_set_response_for_cname_type(@dns_client)
-
1
record_set_params = { records: %w(1.2.3.4 1.2.3.3) }
-
1
@record_sets.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_record_set(record_set_params, 'CNAME'), mocked_response
-
end
-
end
-
-
1
def test_create_or_update_record_set_failure
-
1
response = ApiStub::Requests::DNS::RecordSet.list_record_sets_response(@dns_client)
-
1
record_set_params = { records: %w(1.2.3.4 1.2.3.3) }
-
1
@record_sets.stub :create_or_update, response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_record_set(record_set_params)
-
end
-
end
-
end
-
-
1
def test_create_or_update_record_set_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
record_set_params = { records: %w(1.2.3.4 1.2.3.3) }
-
1
@record_sets.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_record_set(record_set_params, 'CNAME')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Zone Request
-
1
class TestCreateZone < Minitest::Test
-
1
def setup
-
3
@service = Fog::DNS::AzureRM.new(credentials)
-
3
@dns_client = @service.instance_variable_get(:@dns_client)
-
3
@zones = @dns_client.zones
-
end
-
-
1
def test_create_or_update_zone_success
-
1
mocked_response = ApiStub::Requests::DNS::Zone.zone_response(@dns_client)
-
1
zone_params = {}
-
1
@zones.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_zone(zone_params), mocked_response
-
end
-
end
-
-
1
def test_create_or_update_zone_failure
-
1
response = ApiStub::Requests::DNS::RecordSet.list_record_sets_response(@dns_client)
-
1
@zones.stub :create_or_update, response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_zone
-
end
-
end
-
end
-
-
1
def test_create_or_update_zone_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
zone_params = {}
-
1
@zones.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_zone(zone_params)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Record Set Request
-
1
class TestDeleteRecordSet < Minitest::Test
-
1
def setup
-
2
@service = Fog::DNS::AzureRM.new(credentials)
-
2
@dns_client = @service.instance_variable_get(:@dns_client)
-
2
@record_sets = @dns_client.record_sets
-
end
-
-
1
def test_delete_record_set_success
-
1
response = true
-
1
@record_sets.stub :delete, response do
-
1
assert @service.delete_record_set('fog-test-rg', 'fog-test-record-set', 'fog-test-zone', ''), response
-
end
-
end
-
-
1
def test_delete_record_set_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@record_sets.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_record_set('fog-test-rg', 'fog-test-record-set', 'fog-test-zone', '') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Dellete Zone Request
-
1
class TestDeleteZone < Minitest::Test
-
1
def setup
-
2
@service = Fog::DNS::AzureRM.new(credentials)
-
2
@dns_client = @service.instance_variable_get(:@dns_client)
-
2
@zones = @dns_client.zones
-
end
-
-
1
def test_delete_zone_success
-
1
response = true
-
1
@zones.stub :delete, response do
-
1
assert @service.delete_zone('fog-test-rg', 'fog-test-zone'), response
-
end
-
end
-
-
1
def test_delete_zone_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@zones.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_zone('fog-test-rg', 'fog-test-zone') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Record Set
-
1
class TestGetRecordSet < Minitest::Test
-
1
def setup
-
2
@service = Fog::DNS::AzureRM.new(credentials)
-
2
@dns_client = @service.instance_variable_get(:@dns_client)
-
2
@record_sets = @dns_client.record_sets
-
end
-
-
1
def test_get_record_set_success
-
1
mocked_response = ApiStub::Requests::DNS::RecordSet.record_set_response_for_cname_type(@dns_client)
-
1
@record_sets.stub :get, mocked_response do
-
1
assert_equal @service.get_record_set('fog-test-rg', 'fog-test-result', 'fog-test-zone', 'CNAME'), mocked_response
-
end
-
end
-
-
1
def test_get_record_set_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@record_sets.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_record_set('fog-test-rg', 'fog-test-result', 'fog-test-zone', 'CNAME') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Records From Record Set Request
-
1
class TestGetRecordsFromRecordSet < Minitest::Test
-
1
def setup
-
4
@service = Fog::DNS::AzureRM.new(credentials)
-
4
@dns_client = @service.instance_variable_get(:@dns_client)
-
4
@record_sets = @dns_client.record_sets
-
end
-
-
1
def test_get_records_from_record_set_of_a_type_success
-
1
mocked_response = ApiStub::Requests::DNS::RecordSet.record_set_response_for_a_type_response(@dns_client)
-
1
@record_sets.stub :get, mocked_response do
-
1
assert_equal @service.get_records_from_record_set('fog-test-rg', 'fog-test-record-set', 'fog-test-zone', 'A'), mocked_response.arecords
-
end
-
end
-
-
1
def test_get_records_from_record_set_of_cname_type_success
-
1
mocked_response = ApiStub::Requests::DNS::RecordSet.record_set_response_for_cname_type(@dns_client)
-
1
@record_sets.stub :get, mocked_response do
-
1
assert_equal @service.get_records_from_record_set('fog-test-rg', 'fog-test-record-set', 'fog-test-zone', 'CNAME'), mocked_response.cname_record
-
end
-
end
-
-
1
def test_get_records_from_record_set_failure
-
1
response = ApiStub::Requests::DNS::RecordSet.list_record_sets_response(@dns_client)
-
1
@record_sets.stub :get, response do
-
1
assert_raises ArgumentError do
-
1
@service.get_records_from_record_set('fog-test-rg', 'fog-test-record-set', 'fog-test-zone')
-
end
-
end
-
end
-
-
1
def test_get_records_from_record_set_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@record_sets.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.get_records_from_record_set('fog-test-rg', 'fog-test-record-set', 'fog-test-zone', 'CNAME')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Zone
-
1
class TestGetZone < Minitest::Test
-
1
def setup
-
3
@service = Fog::DNS::AzureRM.new(credentials)
-
3
@dns_client = @service.instance_variable_get(:@dns_client)
-
3
@zones = @dns_client.zones
-
end
-
-
1
def test_get_zone_success
-
1
mocked_response = ApiStub::Requests::DNS::Zone.zone_response(@dns_client)
-
1
@zones.stub :get, mocked_response do
-
1
assert_equal @service.get_zone('fog-test-rg', 'zone_name'), mocked_response
-
end
-
end
-
-
1
def test_get_zone_failure
-
1
response = ApiStub::Requests::DNS::RecordSet.list_record_sets_response(@dns_client)
-
1
@zones.stub :get, response do
-
1
assert_raises ArgumentError do
-
1
@service.get_zone('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_get_zone_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@zones.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.get_zone('fog-test-rg', 'zone_name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Record Sets Request
-
1
class TestListRecordSets < Minitest::Test
-
1
def setup
-
3
@service = Fog::DNS::AzureRM.new(credentials)
-
3
@dns_client = @service.instance_variable_get(:@dns_client)
-
3
@record_sets = @dns_client.record_sets
-
end
-
-
1
def test_list_record_sets_success
-
1
mocked_response = [ApiStub::Requests::DNS::RecordSet.list_record_sets_response(@dns_client)]
-
1
@record_sets.stub :list_all_in_resource_group, mocked_response do
-
1
assert_equal @service.list_record_sets('fog-test-rg', 'fog-test-zone'), mocked_response
-
end
-
end
-
-
1
def test_list_record_sets_failure
-
1
response = ApiStub::Requests::DNS::RecordSet.list_record_sets_response(@dns_client)
-
1
@record_sets.stub :list_all_in_resource_group, response do
-
1
assert_raises ArgumentError do
-
1
@service.list_record_sets('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_list_record_sets_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@record_sets.stub :list_all_in_resource_group, response do
-
1
assert_raises RuntimeError do
-
1
@service.list_record_sets('fog-test-rg', 'fog-test-zone')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Zones Request
-
1
class TestListZones < Minitest::Test
-
1
def setup
-
2
@service = Fog::DNS::AzureRM.new(credentials)
-
2
@dns_client = @service.instance_variable_get(:@dns_client)
-
2
@zones = @dns_client.zones
-
end
-
-
1
def test_list_zones_success
-
1
mocked_response = ApiStub::Requests::DNS::Zone.zone_response(@dns_client)
-
1
@zones.stub :list_in_subscription, mocked_response do
-
1
assert_equal @service.list_zones, mocked_response
-
end
-
end
-
-
1
def test_list_zones_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@zones.stub :list_in_subscription, response do
-
1
assert_raises RuntimeError do
-
1
@service.list_zones
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Add Address Prefixes in Virtual Network Request
-
1
class TestAddAddressPrefixesInVirtualNetwork < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_add_address_prefixes_in_virtual_network_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
1
mocked_response.address_space.address_prefixes.push('10.3.0.0/16', '10.4.0.0/16')
-
1
@virtual_networks.stub :get, mocked_response do
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_equal @service.add_address_prefixes_in_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['10.3.0.0/16', '10.4.0.0/16']), mocked_response
-
end
-
end
-
end
-
-
1
def test_add_address_prefixes_in_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.add_address_prefixes_in_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['10.1.0.0/16', '10.2.0.0/16'])
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Add Dns Servers in Virtual Network Request
-
1
class TestAddDnsServersInVirtualNetwork < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_add_dns_servers_in_virtual_network_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
1
mocked_response.dhcp_options.dns_servers.push('10.1.0.7', '10.1.0.8')
-
1
@virtual_networks.stub :get, mocked_response do
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_equal @service.add_dns_servers_in_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['10.1.0.7', '10.1.0.8']), mocked_response
-
end
-
end
-
end
-
-
1
def test_add_dns_servers_in_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.add_dns_servers_in_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['10.1.0.7', '10.1.0.8'])
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Add Security Rules
-
1
class TestAddSecurityRules < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@network_client)
-
2
@network_security_groups = @client.network_security_groups
-
end
-
-
1
def test_add_security_rules_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkSecurityGroup.create_network_security_group_response(@client)
-
1
expected_response_json = ApiStub::Requests::Network::NetworkSecurityGroup.add_security_rules_response(@client)
-
1
security_rule =
-
{
-
name: 'testRule',
-
protocol: 'tcp',
-
source_port_range: '22',
-
destination_port_range: '22',
-
source_address_prefix: '0.0.0.0/0',
-
destination_address_prefix: '0.0.0.0/0',
-
access: 'Allow',
-
priority: '100',
-
direction: 'Inbound',
-
description: 'This is a test rule'
-
}
-
-
1
@network_security_groups.stub :get, mocked_response do
-
1
@network_security_groups.stub :begin_create_or_update, expected_response_json do
-
1
assert_equal @service.add_security_rules('fog-test-rg', 'fog-test-nsg', [security_rule]), expected_response_json
-
end
-
end
-
end
-
-
1
def test_add_security_rules_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_groups.stub :get, response do
-
1
assert_raises MsRestAzure::AzureOperationError do
-
1
@service.add_security_rules('fog-test-rg', 'fog-test-nsg', [])
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Add Subnets in Virtual Network Request
-
1
class TestAddSubnetsInVirtualNetwork < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_add_subnets_in_virtual_network_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
1
mocked_response.subnets.unshift('properties' => { 'addressPrefix' => '10.0.0.0/16' }, 'name' => 'test-subnet')
-
1
@virtual_networks.stub :get, mocked_response do
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_equal @service.add_subnets_in_virtual_network('fog-test-rg', 'fog-test-virtual-network', [{ name: 'test-subnet', address_prefix: '10.0.0.0/16' }]), mocked_response
-
end
-
end
-
end
-
-
1
def test_add_subnets_in_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.add_subnets_in_virtual_network('fog-test-rg', 'fog-test-virtual-network', @subnets)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Attach Network Security Group to Subnet Request
-
1
class TestAttachNetworkSecurityGroupToSubnet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@subnets = @network_client.subnets
-
end
-
-
1
def test_attach_network_security_group_to_subnet_success
-
1
mocked_response = ApiStub::Requests::Network::Subnet.create_subnet_response(@network_client)
-
1
@subnets.stub :create_or_update, mocked_response do
-
1
assert_equal @service.attach_network_security_group_to_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'myNSG1', 'myRT1'), mocked_response
-
end
-
end
-
-
1
def test_attach_network_security_group_to_subnet_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@subnets.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.attach_network_security_group_to_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'myNSG1', 'myRT1')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class To Attach Resources to NIC
-
1
class TestAttachResourceToNIC < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@network_interfaces = @network_client.network_interfaces
-
end
-
-
1
def test_attach_resources_to_nic_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
-
-
# Attach Subnet
-
1
@network_interfaces.stub :get, mocked_response do
-
1
@network_interfaces.stub :create_or_update, mocked_response do
-
1
assert_equal @service.attach_resource_to_nic('fog-test-rg', 'fog-test-network-interface', 'Subnet', '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myvnet1/subnets/mysub1'), mocked_response
-
end
-
end
-
-
# Attach Public-IP
-
1
@network_interfaces.stub :get, mocked_response do
-
1
@network_interfaces.stub :create_or_update, mocked_response do
-
1
assert_equal @service.attach_resource_to_nic('fog-test-rg', 'fog-test-network-interface', 'Public-IP-Address', '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/mypip1'), mocked_response
-
end
-
end
-
-
# Attach NSG
-
1
@network_interfaces.stub :get, mocked_response do
-
1
@network_interfaces.stub :create_or_update, mocked_response do
-
1
assert_equal @service.attach_resource_to_nic('fog-test-rg', 'fog-test-network-interface', 'Network-Security-Group', '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1'), mocked_response
-
end
-
end
-
end
-
-
1
def test_attach_resources_to_nic_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceGroupNotFound' }) }
-
-
1
@network_interfaces.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.attach_resource_to_nic('fog-test-rg', 'fog-test-network-interface', 'Network-Security-Group', '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNSG1') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Attach Route Table to Subnet Request
-
1
class TestAttachRouteTableToSubnet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@subnets = @network_client.subnets
-
end
-
-
1
def test_attach_route_table_to_subnet_success
-
1
mocked_response = ApiStub::Requests::Network::Subnet.create_subnet_response(@network_client)
-
1
@subnets.stub :create_or_update, mocked_response do
-
1
assert_equal @service.attach_route_table_to_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'myNSG1', 'myRT1'), mocked_response
-
end
-
end
-
-
1
def test_attach_route_table_to_subnet_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@subnets.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.attach_route_table_to_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'myNSG1', 'myRT1')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Check for Public Ip Request
-
1
class TestCheckForPublicIp < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
network_client = @service.instance_variable_get(:@network_client)
-
3
@public_ips = network_client.public_ipaddresses
-
end
-
-
1
def test_check_for_public_ip_success
-
1
@public_ips.stub :get, true do
-
1
assert @service.check_for_public_ip('fog-test-rg', 'fog-test-public-ip')
-
end
-
end
-
-
1
def test_check_for_public_ip_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceNotFound' }) }
-
1
@public_ips.stub :get, response do
-
1
assert !@service.check_for_public_ip('fog-test-rg', 'fog-test-public-ip')
-
end
-
end
-
-
1
def test_check_for_public_ip_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceGroupNotFound' }) }
-
1
@public_ips.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.check_for_public_ip('fog-test-rg', 'fog-test-public-ip') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Check for Virtual Network Request
-
1
class TestCheckForVirtualNetwork < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
network_client = @service.instance_variable_get(:@network_client)
-
3
@virtual_networks = network_client.virtual_networks
-
end
-
-
1
def test_check_for_virtual_network_success
-
1
@virtual_networks.stub :get, true do
-
1
assert @service.check_for_virtual_network('fog-test-rg', 'fog-test-virtual-network')
-
end
-
end
-
-
1
def test_check_for_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceNotFound' }) }
-
1
@virtual_networks.stub :get, response do
-
1
assert !@service.check_for_virtual_network('fog-test-rg', 'fog-test-virtual-network')
-
end
-
end
-
-
1
def test_check_for_virtual_network_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceGroupNotFound' }) }
-
1
@virtual_networks.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.check_for_virtual_network('fog-test-rg', 'fog-test-virtual-network') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Express Route Circuit Request
-
1
class TestCreateExpressRouteCircuit < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@circuit = @network_client.express_route_circuits
-
end
-
-
1
def test_create_express_route_circuit_success
-
1
mocked_response = ApiStub::Requests::Network::ExpressRouteCircuit.create_express_route_circuit_response(@network_client)
-
1
peerings = ApiStub::Requests::Network::ExpressRouteCircuit.peerings
-
1
express_route_circuit_parameters = { peerings: peerings }
-
1
@circuit.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_express_route_circuit(express_route_circuit_parameters), mocked_response
-
end
-
end
-
-
1
def test_create_express_route_circuit_argument_error_failure
-
1
response = ApiStub::Requests::Network::ExpressRouteCircuit.create_express_route_circuit_response(@network_client)
-
1
@circuit.stub :create_or_update, response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_express_route_circuit('Fog-rg', 'testCircuit', 'eastus', 'value1', 'value2', 'Standard_MeteredData', 'Standard', 'MeteredData', 'Telenor', 'London', 100)
-
end
-
end
-
end
-
-
1
def test_create_express_route_circuit_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
peerings = ApiStub::Requests::Network::ExpressRouteCircuit.peerings
-
1
express_route_circuit_parameters = { peerings: peerings }
-
1
@circuit.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_express_route_circuit(express_route_circuit_parameters)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Express Route Circuit Authorization Request
-
1
class TestCreateExpressRouteCircuitAuthorization < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@circuit_authorizations = @network_client.express_route_circuit_authorizations
-
3
@auth_params = ApiStub::Requests::Network::ExpressRouteCircuitAuthorization.auth_hash
-
3
@mocked_response = ApiStub::Requests::Network::ExpressRouteCircuitAuthorization.create_express_route_circuit_authorization_response(@network_client)
-
end
-
-
1
def test_create_express_route_circuit_authorization_success
-
1
@circuit_authorizations.stub :create_or_update, @mocked_response do
-
1
assert_equal @service.create_or_update_express_route_circuit_authorization(@auth_params), @mocked_response
-
end
-
end
-
-
1
def test_create_express_route_circuit_authorization_argument_error_failure
-
1
@circuit_authorizations.stub :create_or_update, @mocked_response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_express_route_circuit_authorization('test-resource-group', 'circuit-name')
-
end
-
end
-
end
-
-
1
def test_create_express_route_circuit_authorization_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit_authorizations.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_express_route_circuit_authorization(@auth_params)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Express Route Circuit Peering Request
-
1
class TestCreateExpressRouteCircuitPeering < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@circuit_peerings = @network_client.express_route_circuit_peerings
-
end
-
-
1
def test_create_express_route_circuit_peering_success
-
1
circuit_peering_parameters = { peering_type: 'AzurePrivatePeering' }
-
1
mocked_response = ApiStub::Requests::Network::ExpressRouteCircuitPeering.create_express_route_circuit_peering_response(@network_client)
-
1
@circuit_peerings.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_express_route_circuit_peering(circuit_peering_parameters), mocked_response
-
end
-
end
-
-
1
def test_create_express_route_circuit_argument_error_failure
-
1
response = ApiStub::Requests::Network::ExpressRouteCircuitPeering.create_express_route_circuit_peering_response(@network_client)
-
1
@circuit_peerings.stub :create_or_update, response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_express_route_circuit_peering('Fog-rg', 'AzurePrivatePeering', 'testCircuit', 'AzurePrivatePeering', 100, '192.168.1.0/30', '"192.168.2.0/30"', 'NotConfigured', '200', 'routing_registry_name')
-
end
-
end
-
end
-
-
1
def test_create_express_route_circuit_exception_failure
-
1
circuit_peering_parameters = { peering_type: 'AzurePrivatePeering' }
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit_peerings.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_express_route_circuit_peering(circuit_peering_parameters)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Load Balancer Request
-
1
class TestCreateLoadBalancer < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@load_balancers = @network_client.load_balancers
-
end
-
-
1
def test_create_load_balancer_success
-
1
mocked_response = ApiStub::Requests::Network::LoadBalancer.create_load_balancer_response(@network_client)
-
-
1
frontend_ip_config = ApiStub::Requests::Network::LoadBalancer.frontend_ip_config
-
1
backend_address_pool = ApiStub::Requests::Network::LoadBalancer.backend_address_pool
-
1
probe = ApiStub::Requests::Network::LoadBalancer.probe
-
1
load_balancing_rule = ApiStub::Requests::Network::LoadBalancer.load_balancing_rule
-
1
inbound_nat_rule = ApiStub::Requests::Network::LoadBalancer.inbound_nat_rule
-
1
inbound_nat_pool = ApiStub::Requests::Network::LoadBalancer.inbound_nat_pool
-
1
@load_balancers.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_load_balancer('mylb1', 'North US', 'testRG', frontend_ip_config, backend_address_pool, load_balancing_rule, probe, inbound_nat_rule, inbound_nat_pool), mocked_response
-
end
-
end
-
-
1
def test_create_load_balancer_argument_error_failure
-
1
response = ApiStub::Requests::Network::LoadBalancer.create_load_balancer_response(@network_client)
-
1
@load_balancers.stub :create_or_update, response do
-
1
assert_raises ArgumentError do
-
1
@service.create_load_balancer('fog-test-lb', 'West US', 'fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_create_load_balancer_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
-
1
frontend_ip_config = ApiStub::Requests::Network::LoadBalancer.frontend_ip_config
-
1
backend_address_pool = ApiStub::Requests::Network::LoadBalancer.backend_address_pool
-
1
probe = ApiStub::Requests::Network::LoadBalancer.probe
-
1
load_balancing_rule = ApiStub::Requests::Network::LoadBalancer.load_balancing_rule
-
1
inbound_nat_rule = ApiStub::Requests::Network::LoadBalancer.inbound_nat_rule
-
1
inbound_nat_pool = ApiStub::Requests::Network::LoadBalancer.inbound_nat_pool
-
1
@load_balancers.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_load_balancer('mylb1', 'North US', 'testRG', frontend_ip_config, backend_address_pool, load_balancing_rule, probe, inbound_nat_rule, inbound_nat_pool)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Local Network Gateway Request
-
1
class TestCreateLocalNetworkGateway < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@local_network_gateways = @network_client.local_network_gateways
-
3
@response = ApiStub::Requests::Network::LocalNetworkGateway.create_local_network_gateway_response(@network_client)
-
end
-
-
1
def test_create_local_network_gateway_success
-
1
network_gateway_parms = { name: 'temp', resource_group: 'Test' }
-
1
@local_network_gateways.stub :create_or_update, @response do
-
1
assert_equal @service.create_or_update_local_network_gateway(network_gateway_parms), @response
-
end
-
end
-
-
1
def test_create_local_network_gateway_argument_error_failure
-
1
@local_network_gateways.stub :create_or_update, @response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_local_network_gateway
-
end
-
end
-
end
-
-
1
def test_create_local_network_gateway_exception_failure
-
1
local_network_gateway_parms = { name: 'temp', resource_group: 'Test' }
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@local_network_gateways.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_local_network_gateway(local_network_gateway_parms)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Network Interface Request
-
1
class TestCreateNetworkInterface < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
4
@network_interfaces = @network_client.network_interfaces
-
end
-
-
1
def test_create_network_interface_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
-
1
@network_interfaces.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8'), mocked_response
-
end
-
end
-
-
1
def test_create_network_interface_without_public_ip_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
-
1
@network_interfaces.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', nil, 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8'), mocked_response
-
end
-
end
-
-
1
def test_create_network_interface_argument_error_failure
-
1
response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
-
1
@network_interfaces.stub :create_or_update, response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration')
-
end
-
end
-
end
-
-
1
def test_create_network_interface_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_interfaces.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_network_interface('fog-test-rg', 'fog-test-network-interface', 'West US', 'fog-test-subnet-id', 'fog-test-ip-address-id', 'fog-test-ip-configuration', 'Dynamic', '10.0.0.8')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Network Security Group
-
1
class TestCreateOrUpdateNetworkSecurityGroup < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@network_client)
-
2
@network_security_groups = @client.network_security_groups
-
end
-
-
1
def test_create_or_update_network_security_group_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkSecurityGroup.create_network_security_group_response(@client)
-
1
security_rule = {
-
name: 'testRule',
-
protocol: 'tcp',
-
source_port_range: '22',
-
destination_port_range: '22',
-
source_address_prefix: '0.0.0.0/0',
-
destination_address_prefix: '0.0.0.0/0',
-
access: 'Allow',
-
priority: '100',
-
direction: 'Inbound',
-
description: 'This is a test rule'
-
}
-
1
@network_security_groups.stub :begin_create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_network_security_group('fog-test-rg', 'fog-test-nsg', 'West US', [security_rule]), mocked_response
-
end
-
end
-
-
1
def test_create_or_update_network_security_group_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_groups.stub :begin_create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_network_security_group('fog-test-rg', 'fog-test-nsg', 'West US', [])
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Network Security Rule
-
1
class TestCreateOrUpdateNetworkSecurityRule < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@network_client)
-
2
@network_security_rules = @client.security_rules
-
end
-
-
1
def test_create_or_update_network_security_rule_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkSecurityRule.create_network_security_rule_response(@client)
-
1
security_rule_params = ApiStub::Requests::Network::NetworkSecurityRule.network_security_rule_paramteres_hash
-
1
@network_security_rules.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_network_security_rule(security_rule_params), mocked_response
-
end
-
end
-
-
1
def test_create_or_update_network_security_rule_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
security_rule_params = ApiStub::Requests::Network::NetworkSecurityRule.network_security_rule_paramteres_hash
-
1
@network_security_rules.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_network_security_rule(security_rule_params)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create or Update Virtual Network Request
-
1
class TestCreateOrUpdatevirtualNetwork < Minitest::Test
-
1
def setup
-
4
@service = Fog::Network::AzureRM.new(credentials)
-
4
@network_client = @service.instance_variable_get(:@network_client)
-
4
@virtual_networks = @network_client.virtual_networks
-
-
4
@subnets = [{
-
name: 'fog-subnet',
-
resource_group: 'confiz-rg',
-
virtual_network_name: 'fog-vnet',
-
address_prefix: '10.0.0.0/24',
-
network_security_group_id: 'nsg-id',
-
route_table_id: 'nsg-id'
-
}]
-
end
-
-
1
def test_create_or_update_virtual_network_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_virtual_network('fog-test-rg', 'fog-test-virtual-network', 'westus', ['10.1.0.5', '10.1.0.6'], @subnets, ['10.1.0.0/16', '10.2.0.0/16']), mocked_response
-
end
-
end
-
-
1
def test_create_or_update_virtual_network_success_with_address_prefixes_nil
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_virtual_network('fog-test-rg', 'fog-test-virtual-network', 'westus', ['10.1.0.5', '10.1.0.6'], @subnets, nil), mocked_response
-
end
-
end
-
-
1
def test_create_or_update_virtual_network_argument_error_failure
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_virtual_network('fog-test-rg', 'fog-test-virtual-network', 'westus', '10.1.0.0/24', ['10.1.0.5', '10.1.0.6'])
-
end
-
end
-
end
-
-
1
def test_create_or_update_virtual_network_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
-
1
@virtual_networks.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_virtual_network('fog-test-rg', 'fog-test-virtual-network', 'westus', ['10.1.0.5', '10.1.0.6'], @subnets, ['10.1.0.0/16', '10.2.0.0/16'])
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Public IP Request
-
1
class TestCreatePublicIp < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@public_ips = @network_client.public_ipaddresses
-
end
-
-
1
def test_create_public_ip_success
-
1
mocked_response = ApiStub::Requests::Network::PublicIp.create_public_ip_response(@network_client)
-
1
@public_ips.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_public_ip('fog-test-rg', 'fog-test-public-ip', 'West US', 'Dynamic', '', ''), mocked_response
-
end
-
end
-
-
1
def test_create_public_ip_argument_error_failure
-
1
mocked_response = ApiStub::Requests::Network::PublicIp.create_public_ip_response(@network_client)
-
1
@public_ips.stub :create_or_update, mocked_response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_public_ip('fog-test-rg', 'fog-test-public-ip', 'West US')
-
end
-
end
-
end
-
-
1
def test_create_public_ip_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@public_ips.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_public_ip('fog-test-rg', 'fog-test-public-ip', 'West US', 'Dynamic', '', '')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Subnet Request
-
1
class TestCreateSubnet < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@subnets = @network_client.subnets
-
end
-
-
1
def test_create_subnet_success
-
1
mocked_response = ApiStub::Requests::Network::Subnet.create_subnet_response(@network_client)
-
1
@subnets.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'nsg-id', 'table-id'), mocked_response
-
end
-
end
-
-
1
def test_create_subnet_argument_error_failure
-
1
response = ApiStub::Requests::Network::Subnet.create_subnet_response(@network_client)
-
1
@subnets.stub :create_or_update, response do
-
1
assert_raises ArgumentError do
-
1
@service.create_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network')
-
end
-
end
-
end
-
-
1
def test_create_subnet_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@subnets.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'nsg-id', 'table-id')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Virtual Network Gateway Request
-
1
class TestCreateVirtualNetworkGateway < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@network_gateways = @network_client.virtual_network_gateways
-
end
-
-
1
def test_create_virtual_network_gateway_success
-
1
network_gateway_parms = {}
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetworkGateway.create_virtual_network_gateway_response(@network_client)
-
1
@network_gateways.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_virtual_network_gateway(network_gateway_parms), mocked_response
-
end
-
end
-
-
1
def test_create_virtual_network_gateway_argument_error_failure
-
1
response = ApiStub::Requests::Network::VirtualNetworkGateway.create_virtual_network_gateway_response(@network_client)
-
1
@network_gateways.stub :create_or_update, response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_virtual_network_gateway
-
end
-
end
-
end
-
-
1
def test_create_virtual_network_gateway_exception_failure
-
1
network_gateway_parms = {}
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_gateways.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_virtual_network_gateway(network_gateway_parms)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Virtual Network Gateway Connection Request
-
1
class TestCreateVirtualNetworkGatewayConnection < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
@network_client = @service.instance_variable_get(:@network_client)
-
3
@gateway_connections = @network_client.virtual_network_gateway_connections
-
3
@connection_response = ApiStub::Requests::Network::VirtualNetworkGatewayConnection.create_virtual_network_gateway_connection_response(@network_client)
-
end
-
-
1
def test_create_virtual_network_gateway_connection_success
-
1
network_gateway_parms = { name: 'temp', resource_group_name: 'Test' }
-
1
@gateway_connections.stub :create_or_update, @connection_response do
-
1
assert_equal @service.create_or_update_virtual_network_gateway_connection(network_gateway_parms), @connection_response
-
end
-
end
-
-
1
def test_create_virtual_network_gateway_connection_argument_error_failure
-
1
@gateway_connections.stub :create_or_update, @connection_response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_virtual_network_gateway_connection
-
end
-
end
-
end
-
-
1
def test_create_virtual_network_gateway_connection_exception_failure
-
1
network_gateway_parms = { name: 'temp', resource_group_name: 'Test' }
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateway_connections.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_virtual_network_gateway_connection(network_gateway_parms)
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Express Route Circuit Request
-
1
class TestDeleteExpressRouteCircuit < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit = @network_client.express_route_circuits
-
end
-
-
1
def test_delete_express_route_circuit_success
-
1
response = true
-
1
@circuit.stub :delete, response do
-
1
assert @service.delete_express_route_circuit('fogRM-rg', 'testCircuit'), response
-
end
-
end
-
-
1
def test_delete_express_route_circuit_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_express_route_circuit('fogRM-rg', 'testCircuit') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Express Route Circuit Authorization Request
-
1
class TestDeleteExpressRouteCircuitAuthorization < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit_authorization = @network_client.express_route_circuit_authorizations
-
end
-
-
1
def test_delete_express_route_circuit_authorization_success
-
1
@circuit_authorization.stub :delete, true do
-
1
assert @service.delete_express_route_circuit_authorization('Fog-rg', 'testCircuit', 'auth-name'), true
-
end
-
end
-
-
1
def test_delete_express_route_circuit_authorization_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit_authorization.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_express_route_circuit_authorization('Fog-rg', 'testCircuit', 'auth-name') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Express Route Circuit Peering Request
-
1
class TestDeleteExpressRouteCircuitPeering < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit_peering = @network_client.express_route_circuit_peerings
-
end
-
-
1
def test_delete_express_route_circuit_peering_success
-
1
response = true
-
1
@circuit_peering.stub :delete, response do
-
1
assert @service.delete_express_route_circuit_peering('Fog-rg', 'AzurePrivatePeering', 'testCircuit'), response
-
end
-
end
-
-
1
def test_delete_express_route_circuit_peering_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit_peering.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_express_route_circuit_peering('Fog-rg', 'AzurePrivatePeering', 'testCircuit') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Load Balancer Request
-
1
class TestDeleteLoadBalancer < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
network_client = @service.instance_variable_get(:@network_client)
-
2
@load_balancers = network_client.load_balancers
-
end
-
-
1
def test_delete_load_balancer_success
-
1
response = true
-
1
@load_balancers.stub :delete, true do
-
1
assert @service.delete_load_balancer('fog-test-rg', 'fog-test-load-balancer'), response
-
end
-
end
-
-
1
def test_delete_load_balancer_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@load_balancers.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_load_balancer('fog-test-rg', 'fog-test-load-balancer') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Local Network Gateway Request
-
1
class TestDeleteLocalNetworkGateway < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
network_client = @service.instance_variable_get(:@network_client)
-
2
@local_network_gateways = network_client.local_network_gateways
-
end
-
-
1
def test_delete_local_network_gateway_success
-
1
@local_network_gateways.stub :delete, true do
-
1
assert @service.delete_local_network_gateway('fog-test-rg', 'fog-test-local-network-gateway')
-
end
-
end
-
-
1
def test_delete_local_network_gateway_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@local_network_gateways.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_local_network_gateway('fog-test-rg', 'fog-test-local-network-gateway') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Network Interface Request
-
1
class TestDeleteNetworkInterface < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
network_client = @service.instance_variable_get(:@network_client)
-
2
@network_interfaces = network_client.network_interfaces
-
end
-
-
1
def test_delete_network_interface_success
-
1
response = ApiStub::Requests::Network::NetworkInterface.delete_network_interface_response
-
1
@network_interfaces.stub :delete, @promise do
-
1
assert @service.delete_network_interface('fog-test-rg', 'fog-test-network-interface'), response
-
end
-
end
-
-
1
def test_delete_network_interface_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_interfaces.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_network_interface('fog-test-rg', 'fog-test-network-interface') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Network Security Group
-
1
class TestDeleteNetworkSecurityGroup < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
client = @service.instance_variable_get(:@network_client)
-
2
@network_security_groups = client.network_security_groups
-
end
-
-
1
def test_delete_network_security_group_success
-
1
@network_security_groups.stub :delete, true do
-
1
assert_equal @service.delete_network_security_group('fog-test-rg', 'fog-test-nsg'), true
-
end
-
end
-
-
1
def test_delete_network_security_group_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_groups.stub :delete, response do
-
1
assert_raises RuntimeError do
-
1
@service.delete_network_security_group('fog-test-rg', 'fog-test-nsg')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Network Security Rule
-
1
class TestDeleteNetworkSecurityRule < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
client = @service.instance_variable_get(:@network_client)
-
2
@network_security_rules = client.security_rules
-
end
-
-
1
def test_delete_network_security_rule_success
-
1
@network_security_rules.stub :delete, true do
-
1
assert_equal @service.delete_network_security_rule('fog-test-rg', 'fog-test-nsg', 'fog-test-nsr'), true
-
end
-
end
-
-
1
def test_delete_network_security_rule_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_rules.stub :delete, response do
-
1
assert_raises RuntimeError do
-
1
@service.delete_network_security_rule('fog-test-rg', 'fog-test-nsg', 'fog-test-nsr')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Public Ip Request
-
1
class TestDeletePublicIp < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
network_client = @service.instance_variable_get(:@network_client)
-
2
@public_ips = network_client.public_ipaddresses
-
end
-
-
1
def test_delete_public_ip_success
-
1
response = ApiStub::Requests::Network::PublicIp.delete_public_ip_response
-
1
@public_ips.stub :delete, response do
-
1
assert @service.delete_public_ip('fog-test-rg', 'fog-test-public-ip')
-
end
-
end
-
-
1
def test_delete_public_ip_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@public_ips.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_public_ip('fog-test-rg', 'fog-test-public-ip') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Subnet Request
-
1
class TestDeleteSubnet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@subnets = @network_client.subnets
-
end
-
-
1
def test_delete_subnet_success
-
1
response = ApiStub::Requests::Network::Subnet.delete_subnet_response
-
1
@subnets.stub :delete, response do
-
1
assert @service.delete_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network')
-
end
-
end
-
-
1
def test_delete_subnet_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@subnets.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Virtual Network Request
-
1
class TestDeleteVirtualNetwork < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_delete_virtual_network_success
-
1
response = ApiStub::Requests::Network::VirtualNetwork.delete_virtual_network_response
-
1
@virtual_networks.stub :delete, response do
-
1
assert @service.delete_virtual_network('fog-test-rg', 'fog-test-virtual-network')
-
end
-
end
-
-
1
def test_delete_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_virtual_network('fog-test-rg', 'fog-test-virtual-network') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Virtual Network Gateway Request
-
1
class TestDeleteVirtualNetworkGateway < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
client = @service.instance_variable_get(:@network_client)
-
2
@network_gateways = client.virtual_network_gateways
-
end
-
-
1
def test_delete_virtual_network_gateway_success
-
1
response = ApiStub::Requests::Network::VirtualNetworkGateway.delete_virtual_network_gateway_response
-
1
@network_gateways.stub :delete, response do
-
1
assert @service.delete_virtual_network_gateway('fog-test-rg', 'fog-test-network-gateway'), response
-
end
-
end
-
-
1
def test_delete_virtual_network_gateway_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_gateways.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_virtual_network_gateway('fog-test-rg', 'fog-test-network-gateway') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Virtual Network Gateway Connection Request
-
1
class TestDeleteVirtualNetworkGatewayConnection < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
client = @service.instance_variable_get(:@network_client)
-
2
@gateway_connections = client.virtual_network_gateway_connections
-
end
-
-
1
def test_delete_virtual_network_gateway_connection_success
-
1
@gateway_connections.stub :delete, true do
-
1
assert @service.delete_virtual_network_gateway_connection('fog-test-rg', 'fog-test-gateway-connection'), true
-
end
-
end
-
-
1
def test_delete_virtual_network_gateway_connection_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateway_connections.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_virtual_network_gateway_connection('fog-test-rg', 'fog-test-gateway-connection') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Detach Network Security Group from Subnet Request
-
1
class TestDetachNetworkSecurityGroupFromSubnet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@subnets = @network_client.subnets
-
end
-
-
1
def test_detach_network_security_group_from_subnet_success
-
1
mocked_response = ApiStub::Requests::Network::Subnet.create_subnet_response(@network_client)
-
1
@subnets.stub :create_or_update, mocked_response do
-
1
assert_equal @service.detach_network_security_group_from_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'table-id'), mocked_response
-
end
-
end
-
-
1
def test_detach_network_security_group_from_subnet_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@subnets.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.detach_network_security_group_from_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'table-id')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Detach Resources from NIC
-
1
class TestDetachResourceFromNIC < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@network_interfaces = @network_client.network_interfaces
-
end
-
-
1
def test_detach_resources_from_nic_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
-
1
pip_expected_response = ApiStub::Requests::Network::NetworkInterface.detach_pip_from_nic_response(@network_client)
-
-
# Detach Public-IP
-
1
@network_interfaces.stub :get, mocked_response do
-
1
@network_interfaces.stub :create_or_update, pip_expected_response do
-
1
assert_equal @service.detach_resource_from_nic('fog-test-rg', 'fog-test-network-interface', 'Public-IP-Address'), pip_expected_response
-
end
-
end
-
-
1
nsg_expected_response = ApiStub::Requests::Network::NetworkInterface.detach_nsg_from_nic_response(@network_client)
-
-
# Detach NSG
-
1
@network_interfaces.stub :get, mocked_response do
-
1
@network_interfaces.stub :create_or_update, nsg_expected_response do
-
1
assert_equal @service.detach_resource_from_nic('fog-test-rg', 'fog-test-network-interface', 'Network-Security-Group'), nsg_expected_response
-
end
-
end
-
end
-
-
1
def test_detach_resources_to_nic_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
-
1
@network_interfaces.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.detach_resource_from_nic('fog-test-rg', 'fog-test-network-interface', 'Network-Security-Group')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Detach Route Table from Subnet Request
-
1
class TestDetachRouteTableFromSubnet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@subnets = @network_client.subnets
-
end
-
-
1
def test_detach_route_table_from_subnet_success
-
1
mocked_response = ApiStub::Requests::Network::Subnet.create_subnet_response(@network_client)
-
1
@subnets.stub :create_or_update, mocked_response do
-
1
assert_equal @service.detach_route_table_from_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'nsg-id'), mocked_response
-
end
-
end
-
-
1
def test_detach_route_table_from_subnet_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@subnets.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.detach_route_table_from_subnet('fog-test-rg', 'fog-test-subnet', 'fog-test-virtual-network', '10.1.0.0/24', 'nsg-id')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Available IP Address Count
-
1
class TestGetAvailableIPAddressesCount < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
end
-
-
1
def test_get_available_ipaddresses_count_success
-
1
assert_equal @service.get_available_ipaddresses_count('fog-test-subnet', '10.0.0.0/24', [], false), 254
-
end
-
-
1
def test_get_available_ipaddresses_count_argument_error
-
1
assert_raises ArgumentError do
-
1
@service.get_available_ipaddresses_count('fog-test-subnet', '10.0.0.0/24')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Connection Shared Key Request
-
1
class TestGetConnectionSharedKey < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@gateway_connections = @network_client.virtual_network_gateway_connections
-
end
-
-
1
def test_get_connection_shared_key_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetworkGatewayConnection.get_connection_shared_key_response(@network_client)
-
1
@gateway_connections.stub :get_shared_key, mocked_response do
-
1
assert_equal @service.get_connection_shared_key('fog-test-rg', 'fog-test-gateway-connection'), mocked_response.value
-
end
-
end
-
-
1
def test_get_connection_shared_key_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateway_connections.stub :get_shared_key, response do
-
2
assert_raises(RuntimeError) { @service.get_connection_shared_key('fog-test-rg', 'fog-test-gateway-connection') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Express Route Circuit Request
-
1
class TestGetExpressRouteCircuit < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit = @network_client.express_route_circuits
-
end
-
-
1
def test_get_express_route_circuit_success
-
1
mocked_response = ApiStub::Requests::Network::ExpressRouteCircuit.create_express_route_circuit_response(@network_client)
-
1
@circuit.stub :get, mocked_response do
-
1
assert_equal @service.get_express_route_circuit('fog-test-rg', 'testCircuit'), mocked_response
-
end
-
end
-
-
1
def test_get_express_route_circuit_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_express_route_circuit('fog-test-rg', 'testCircuit') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Express Route Circuit Authorization Request
-
1
class TestGetExpressRouteCircuitAuthorization < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit_authorization = @network_client.express_route_circuit_authorizations
-
end
-
-
1
def test_get_express_route_circuit_authorization_success
-
1
mocked_response = ApiStub::Requests::Network::ExpressRouteCircuitAuthorization.create_express_route_circuit_authorization_response(@network_client)
-
1
@circuit_authorization.stub :get, mocked_response do
-
1
assert_equal @service.get_express_route_circuit_authorization('Fog-rg', 'testCircuit', 'auth-name'), mocked_response
-
end
-
end
-
-
1
def test_get_express_route_circuit_authorization_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit_authorization.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_express_route_circuit_authorization('Fog-rg', 'testCircuit', 'auth-name') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Express Route Circuit Peering Request
-
1
class TestGetExpressRouteCircuitPeering < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit_peering = @network_client.express_route_circuit_peerings
-
end
-
-
1
def test_get_express_route_circuit_peering_success
-
1
mocked_response = ApiStub::Requests::Network::ExpressRouteCircuitPeering.create_express_route_circuit_peering_response(@network_client)
-
1
@circuit_peering.stub :get, mocked_response do
-
1
assert_equal @service.get_express_route_circuit_peering('Fog-rg', 'AzurePrivatePeering', 'testCircuit'), mocked_response
-
end
-
end
-
-
1
def test_get_express_route_circuit_peering_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit_peering.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_express_route_circuit_peering('Fog-rg', 'AzurePrivatePeering', 'testCircuit') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Load Balancer Request
-
1
class TestGetLoadBalancer < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@load_balancers = @network_client.load_balancers
-
end
-
-
1
def test_get_load_balancer_success
-
1
mocked_response = ApiStub::Requests::Network::LoadBalancer.create_load_balancer_response(@network_client)
-
1
@load_balancers.stub :get, mocked_response do
-
1
assert_equal @service.get_load_balancer('fog-test-rg', 'mylb1'), mocked_response
-
end
-
end
-
-
1
def test_get_load_balancer_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@load_balancers.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_load_balancer('fog-test-rg', 'mylb1') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Local Network Gateway Request
-
1
class TestGetLocalNetworkGateway < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@local_network_gateways = @network_client.local_network_gateways
-
end
-
-
1
def test_get_local_network_gateway_success
-
1
mocked_response = ApiStub::Requests::Network::LocalNetworkGateway.create_local_network_gateway_response(@network_client)
-
1
@local_network_gateways.stub :get, mocked_response do
-
1
assert_equal @service.get_local_network_gateway('fog-test-rg', 'fog-test-local-network-gateway'), mocked_response
-
end
-
end
-
-
1
def test_get_local_network_gateway_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@local_network_gateways.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_local_network_gateway('fog-test-rg', 'fog-test-local-network-gateway') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Network Interface Request
-
1
class TestGetNetworkInterface < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@network_interfaces = @network_client.network_interfaces
-
end
-
-
1
def test_get_network_interface_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkInterface.create_network_interface_response(@network_client)
-
1
@network_interfaces.stub :get, mocked_response do
-
1
assert_equal @service.get_network_interface('fog-test-rg', 'fog-test-network-interface'), mocked_response
-
end
-
end
-
-
1
def test_get_network_interface_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_interfaces.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_network_interface('fog-test-rg', 'fog-test-network-interface') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Network Security Group
-
1
class TestGetNetworkSecurityGroup < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@network_client)
-
2
@network_security_groups = @client.network_security_groups
-
end
-
-
1
def test_get_network_security_group_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkSecurityGroup.create_network_security_group_response(@client)
-
1
@network_security_groups.stub :get, mocked_response do
-
1
assert_equal @service.get_network_security_group('fog-test-rg', 'fog-test-nsg'), mocked_response
-
end
-
end
-
-
1
def test_get_network_security_group_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_groups.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.get_network_security_group('fog-test-rg', 'fog-test-nsg')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Network Security Rule
-
1
class TestGetNetworkSecurityRule < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@network_client)
-
2
@network_security_rules = @client.security_rules
-
end
-
-
1
def test_get_network_security_rule_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkSecurityRule.create_network_security_rule_response(@client)
-
1
@network_security_rules.stub :get, mocked_response do
-
1
assert_equal @service.get_network_security_rule('fog-test-rg', 'fog-test-nsg', 'fog-test-nsr'), mocked_response
-
end
-
end
-
-
1
def test_get_network_security_rule_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_rules.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.get_network_security_rule('fog-test-rg', 'fog-test-nsg', 'fog-test-nsr')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Public Ip Request
-
1
class TestGetPublicIp < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@public_ips = @network_client.public_ipaddresses
-
end
-
-
1
def test_get_public_ip_success
-
1
mocked_response = ApiStub::Requests::Network::PublicIp.create_public_ip_response(@network_client)
-
1
@public_ips.stub :get, mocked_response do
-
1
assert_equal @service.get_public_ip('fog-test-rg', 'fog-test-public-ip'), mocked_response
-
end
-
end
-
-
1
def test_get_public_ip_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@public_ips.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.get_public_ip('fog-test-rg', 'fog-test-public-ip')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Subnet Request
-
1
class TestGetSubnet < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@subnets = @network_client.subnets
-
end
-
-
1
def test_get_subnet_success
-
1
mocked_response = ApiStub::Requests::Network::Subnet.create_subnet_response(@network_client)
-
1
@subnets.stub :get, mocked_response do
-
1
assert_equal @service.get_subnet('fog-test-rg', 'fog-test-virtual-network', 'fog-test-subnet'), mocked_response
-
end
-
end
-
-
1
def test_get_subnet_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@subnets.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.get_subnet('fog-test-rg', 'fog-test-virtual-network', 'fog-test-subnet')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Virtual Network request
-
1
class TestGetVirtualNetwork < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_get_virtual_network_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
1
@virtual_networks.stub :get, mocked_response do
-
1
assert_equal @service.get_virtual_network('fog-test-rg', 'fog-test-virtual-network'), mocked_response
-
end
-
end
-
-
1
def test_get_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.get_virtual_network('fog-test-rg', 'fog-test-virtual-network')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Virtual Network Gateway Request
-
1
class TestGetVirtualNetworkGateway < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@network_gateways = @network_client.virtual_network_gateways
-
end
-
-
1
def test_get_virtual_network_gateway_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetworkGateway.create_virtual_network_gateway_response(@network_client)
-
1
@network_gateways.stub :get, mocked_response do
-
1
assert_equal @service.get_virtual_network_gateway('fog-test-rg', 'fog-test-network-gateway'), mocked_response
-
end
-
end
-
-
1
def test_get_virtual_network_gateway_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_gateways.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_virtual_network_gateway('fog-test-rg', 'fog-test-network-gateway') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Virtual Network Gateway Connection Request
-
1
class TestGetVirtualNetworkGatewayConnection < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@gateway_connections = @network_client.virtual_network_gateway_connections
-
end
-
-
1
def test_get_virtual_network_gateway_connection_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetworkGatewayConnection.create_virtual_network_gateway_connection_response(@network_client)
-
1
@gateway_connections.stub :get, mocked_response do
-
1
assert_equal @service.get_virtual_network_gateway_connection('fog-test-rg', 'fog-test-gateway-connection'), mocked_response
-
end
-
end
-
-
1
def test_get_virtual_network_gateway_connection_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateway_connections.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_virtual_network_gateway_connection('fog-test-rg', 'fog-test-gateway-connection') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Express Route Circuit Authorization Request
-
1
class TestListExpressRouteCircuitAuthorization < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit_authorization = @network_client.express_route_circuit_authorizations
-
end
-
-
1
def test_list_express_route_circuit_authorizations_success
-
1
mocked_response = [ApiStub::Requests::Network::ExpressRouteCircuitAuthorization.create_express_route_circuit_authorization_response(@network_client)]
-
1
@circuit_authorization.stub :list, mocked_response do
-
1
assert_equal @service.list_express_route_circuit_authorizations('fogRM-rg', 'testCircuit'), mocked_response
-
end
-
end
-
-
1
def test_list_express_route_circuit_authorizations_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit_authorization.stub :list, response do
-
2
assert_raises(RuntimeError) { @service.list_express_route_circuit_authorizations('fogRM-rg', 'testCircuit') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Express Route Circuit Peeringss Request
-
1
class TestListExpressRouteCircuitPeerings < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit_peering = @network_client.express_route_circuit_peerings
-
end
-
-
1
def test_list_express_route_circuit_peerings_success
-
1
mocked_response = ApiStub::Requests::Network::ExpressRouteCircuitPeering.list_express_route_circuit_peering_response(@network_client)
-
1
@circuit_peering.stub :list, mocked_response do
-
1
assert_equal @service.list_express_route_circuit_peerings('fogRM-rg', 'testCircuit'), mocked_response
-
end
-
end
-
-
1
def test_list_express_route_circuit_peerings_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit_peering.stub :list, response do
-
2
assert_raises(RuntimeError) { @service.list_express_route_circuit_peerings('fogRM-rg', 'testCircuit') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Express Route Circuits Request
-
1
class TestListExpressRouteCircuits < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@circuit = @network_client.express_route_circuits
-
2
@promise = Concurrent::Promise.execute do
-
end
-
end
-
-
1
def test_list_express_route_circuits_success
-
1
mocked_response = ApiStub::Requests::Network::ExpressRouteCircuit.list_express_route_circuit_response(@network_client)
-
1
@circuit.stub :list, mocked_response do
-
1
assert_equal @service.list_express_route_circuits('fogRM-rg'), mocked_response
-
end
-
end
-
-
1
def test_list_express_route_circuits_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@circuit.stub :list, response do
-
2
assert_raises(RuntimeError) { @service.list_express_route_circuits('fogRM-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Express Service Providers Request
-
1
class TestListExpressServiceProviders < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@service_provider = @network_client.express_route_service_providers
-
end
-
-
1
def test_list_express_route_service_providers_success
-
1
mocked_response = ApiStub::Requests::Network::ExpressRouteServiceProvider.list_express_route_service_providers_response(@network_client)
-
1
@service_provider.stub :list, mocked_response do
-
1
assert_equal @service.list_express_route_service_providers, mocked_response
-
end
-
end
-
-
1
def test_list_express_route_service_providers_failure
-
2
response = -> { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@service_provider.stub :list, response do
-
2
assert_raises(RuntimeError) { @service.list_express_route_service_providers }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Load Balancers Request
-
1
class TestListLoadBalancers < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@load_balancers = @network_client.load_balancers
-
end
-
-
1
def test_list_load_balancers_success
-
1
mocked_response = ApiStub::Requests::Network::LoadBalancer.list_load_balancers_response(@network_client)
-
1
@load_balancers.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_load_balancers('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_load_balancers_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@load_balancers.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_load_balancers('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Local Network Gateways Request
-
1
class TestListLocalNetwrokGateways < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@local_network_gateways = @network_client.local_network_gateways
-
end
-
-
1
def test_list_local_network_gateways_success
-
1
mocked_response = ApiStub::Requests::Network::LocalNetworkGateway.list_local_network_gateway_response(@network_client)
-
1
@local_network_gateways.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_local_network_gateways('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_local_network_gateways_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@local_network_gateways.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_local_network_gateways('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Network Interfaces Request
-
1
class TestListNetworkInterfaces < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@network_interfaces = @network_client.network_interfaces
-
end
-
-
1
def test_list_network_interfaces_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkInterface.list_network_interfaces_response(@network_client)
-
1
@network_interfaces.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_network_interfaces('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_network_interfaces_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_interfaces.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_network_interfaces('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Network Security Group
-
1
class TestListNetworkSecurityGroup < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@network_client)
-
2
@network_security_groups = @client.network_security_groups
-
end
-
-
1
def test_list_network_security_group_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkSecurityGroup.list_network_security_group_response(@client)
-
1
@network_security_groups.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_network_security_groups('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_network_security_group_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_groups.stub :list_as_lazy, response do
-
1
assert_raises RuntimeError do
-
1
@service.list_network_security_groups('fog-test-rg')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Network Security Rule
-
1
class TestListNetworkSecurityRule < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@network_client)
-
2
@network_security_rules = @client.security_rules
-
end
-
-
1
def test_list_network_security_rule_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkSecurityRule.list_network_security_rules(@client)
-
1
@network_security_rules.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_network_security_rules('fog-test-rg', 'fog-test-nsg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_network_security_rule_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_rules.stub :list_as_lazy, response do
-
1
assert_raises RuntimeError do
-
1
@service.list_network_security_rules('fog-test-rg', 'fog-test-nsg')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Public Ips Request
-
1
class TestListPublicIps < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@public_ips = @network_client.public_ipaddresses
-
end
-
-
1
def test_list_public_ips_success
-
1
mocked_response = ApiStub::Requests::Network::PublicIp.list_public_ips_response(@network_client)
-
1
@public_ips.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_public_ips('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_public_ips_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@public_ips.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_public_ips('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Subnets Request
-
1
class TestListSubnets < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@subnets = @network_client.subnets
-
end
-
-
1
def test_list_subnets_success
-
1
mocked_response = ApiStub::Requests::Network::Subnet.list_subnets_response(@network_client)
-
1
@subnets.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_subnets('fog-test-rg', 'fog-test-virtual-network'), mocked_response.value
-
end
-
end
-
-
1
def test_list_subnets_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@subnets.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_subnets('fog-test-rg', 'fog-test-virtual-network') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Virtual Network Gateway Connections Request
-
1
class TestListVirtualNetwrokGatewayConnections < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@gateway_connections = @network_client.virtual_network_gateway_connections
-
end
-
-
1
def test_list_virtual_network_gateway_connections_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetworkGatewayConnection.list_virtual_network_gateway_connection_response(@network_client)
-
1
@gateway_connections.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_virtual_network_gateway_connections('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_virtual_network_gateway_connections_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateway_connections.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_virtual_network_gateway_connections('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Virtual Network Gateways Request
-
1
class TestListVirtualNetwrokGateways < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@network_gateways = @network_client.virtual_network_gateways
-
end
-
-
1
def test_list_virtual_network_gateways_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetworkGateway.list_virtual_network_gateway_response(@network_client)
-
1
@network_gateways.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_virtual_network_gateways('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_virtual_network_gateways_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_gateways.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_virtual_network_gateways('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Virtual Networks Request
-
1
class TestListVirtualNetworks < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_list_virtual_networks_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.list_virtual_networks_response(@network_client)
-
1
@virtual_networks.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_virtual_networks('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_virtual_networks_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_virtual_networks('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Remove Address Prefixes in Virtual Network Request
-
1
class TestRemoveddressPrefixesInVirtualNetwork < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_remove_address_prefixes_in_virtual_network_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
1
mocked_response.address_space.address_prefixes.delete('10.1.0.0/16')
-
1
@virtual_networks.stub :get, mocked_response do
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_equal @service.remove_address_prefixes_from_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['10.1.0.0/16']), mocked_response
-
end
-
end
-
end
-
-
1
def test_remove_address_prefixes_in_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.remove_address_prefixes_from_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['10.1.0.0/16'])
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Remove Dns Servers in Virtual Network Request
-
1
class TestRemoveDnsServersInVirtualNetwork < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_remove_dns_servers_in_virtual_network_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
1
mocked_response.dhcp_options.dns_servers.delete('10.1.0.5')
-
1
@virtual_networks.stub :get, mocked_response do
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_equal @service.remove_dns_servers_from_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['10.1.0.5']), mocked_response
-
end
-
end
-
end
-
-
1
def test_remove_dns_servers_in_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.remove_dns_servers_from_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['10.1.0.5'])
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Remove Security Rule
-
1
class TestRemoveSecurityRule < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@network_client)
-
2
@network_security_groups = @client.network_security_groups
-
end
-
-
1
def test_remove_security_rule_success
-
1
mocked_response = ApiStub::Requests::Network::NetworkSecurityGroup.add_security_rules_response(@client)
-
1
expected_response_json = ApiStub::Requests::Network::NetworkSecurityGroup.create_network_security_group_response(@client)
-
1
@network_security_groups.stub :get, mocked_response do
-
1
@network_security_groups.stub :begin_create_or_update, expected_response_json do
-
1
assert_equal @service.remove_security_rule('fog-test-rg', 'fog-test-nsg', 'testRule'), expected_response_json
-
end
-
end
-
end
-
-
1
def test_remove_security_rule_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@network_security_groups.stub :get, response do
-
1
assert_raises MsRestAzure::AzureOperationError do
-
1
@service.remove_security_rule('fog-test-rg', 'fog-test-nsg', 'testRule')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Remove Subnets in Virtual Network Request
-
1
class TestRemoveSubnetsInVirtualNetwork < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@virtual_networks = @network_client.virtual_networks
-
end
-
-
1
def test_remove_subnets_in_virtual_network_success
-
1
mocked_response = ApiStub::Requests::Network::VirtualNetwork.create_virtual_network_response(@network_client)
-
1
mocked_response.subnets.delete_at(0)
-
1
@virtual_networks.stub :get, mocked_response do
-
1
@virtual_networks.stub :create_or_update, mocked_response do
-
1
assert_equal @service.remove_subnets_from_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['mysubnet1']), mocked_response
-
end
-
end
-
end
-
-
1
def test_remove_subnets_in_virtual_network_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@virtual_networks.stub :get, response do
-
1
assert_raises RuntimeError do
-
1
@service.remove_subnets_from_virtual_network('fog-test-rg', 'fog-test-virtual-network', ['mysubnet1'])
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Set Connection Shared Key Request
-
1
class TestResetConnectionSharedKey < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@gateway_connections = @network_client.virtual_network_gateway_connections
-
end
-
-
1
def test_reset_connection_shared_key_success
-
1
@gateway_connections.stub :reset_shared_key, nil do
-
1
assert_equal @service.reset_connection_shared_key('fog-test-rg', 'fog-test-gateway-connection', '20'), true
-
end
-
end
-
-
1
def test_reset_connection_shared_key_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateway_connections.stub :reset_shared_key, response do
-
2
assert_raises(RuntimeError) { @service.reset_connection_shared_key('fog-test-rg', 'fog-test-gateway-connection', '20') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Set Connection Shared Key Request
-
1
class TestSetConnectionSharedKey < Minitest::Test
-
1
def setup
-
2
@service = Fog::Network::AzureRM.new(credentials)
-
2
@network_client = @service.instance_variable_get(:@network_client)
-
2
@gateway_connections = @network_client.virtual_network_gateway_connections
-
end
-
-
1
def test_set_connection_shared_key_success
-
1
@gateway_connections.stub :set_shared_key, nil do
-
1
assert_equal @service.set_connection_shared_key('fog-test-rg', 'fog-test-gateway-connection', 'hello'), true
-
end
-
end
-
-
1
def test_set_connection_shared_key_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@gateway_connections.stub :set_shared_key, response do
-
2
assert_raises(RuntimeError) { @service.set_connection_shared_key('fog-test-rg', 'fog-test-gateway-connection', 'hello') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for Update Public IP Request
-
1
class TestUpdatePublicIp < Minitest::Test
-
1
def setup
-
3
@service = Fog::Network::AzureRM.new(credentials)
-
3
network_client = @service.instance_variable_get(:@network_client)
-
3
@public_ips = network_client.public_ipaddresses
-
3
@response = ApiStub::Requests::Network::PublicIp.create_public_ip_response(network_client)
-
end
-
-
1
def test_update_public_ip_success
-
1
@public_ips.stub :create_or_update, @response do
-
1
assert_equal @service.create_or_update_public_ip('TestRG', 'testPubIp432', 'West US', 'Dynamic', '4', 'mylabel'), @response
-
end
-
end
-
-
1
def test_update_public_ip_argument_error_failure
-
1
@public_ips.stub :create_or_update, @response do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_public_ip('fog-test-rg', 'fog-test-public-ip', 'West US')
-
end
-
end
-
end
-
-
1
def test_update_public_ip_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@public_ips.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_public_ip('fog-test-rg', 'fog-test-public-ip', 'West US', 'Dynamic', '4', 'mylabel')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Deployment Request
-
1
class TestCreateDeployment < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@rmc)
-
2
@deployments = @client.deployments
-
2
@resource_group = 'fog-test-rg'
-
2
@deployment_name = 'fog-test-deployment'
-
2
@template_link = 'https://test.com/template.json'
-
2
@parameters_link = 'https://test.com/parameters.json'
-
end
-
-
1
def test_create_deployment_success
-
1
mocked_response = ApiStub::Requests::Resources::Deployment.create_deployment_response(@client)
-
1
@deployments.stub :validate, true do
-
1
@deployments.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_deployment(@resource_group, @deployment_name, @template_link, @parameters_link), mocked_response
-
end
-
end
-
end
-
-
1
def test_create_deployment_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@deployments.stub :validate, true do
-
1
@deployments.stub :create_or_update, response do
-
2
assert_raises(RuntimeError) { @service.create_deployment(@resource_group, @deployment_name, @template_link, @parameters_link) }
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Resource Group Request
-
1
class TestCreateResourceGroup < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@rmc)
-
2
@resource_groups = @client.resource_groups
-
end
-
-
1
def test_create_resource_group_success
-
1
mocked_response = ApiStub::Requests::Resources::ResourceGroup.create_resource_group_response(@client)
-
1
@resource_groups.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_resource_group('fog-test-rg', 'west us'), mocked_response
-
end
-
end
-
-
1
def test_create_resource_group_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@resource_groups.stub :create_or_update, response do
-
2
assert_raises(RuntimeError) { @service.create_resource_group('fog-test-rg', 'west us') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Deployment Request
-
1
class TestDeleteDeployment < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
client = @service.instance_variable_get(:@rmc)
-
2
@deployments = client.deployments
-
2
@resource_group = 'fog-test-rg'
-
2
@deployment_name = 'fog-test-deployment'
-
end
-
-
1
def test_delete_deployment_success
-
1
@deployments.stub :delete, true do
-
1
assert @service.delete_deployment(@resource_group, @deployment_name)
-
end
-
end
-
-
1
def test_list_deployment_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@deployments.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_deployment(@resource_group, @deployment_name) }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Resource Group Request
-
1
class TestDeleteResourceGroup < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@rmc)
-
2
@resource_groups = @client.resource_groups
-
end
-
-
1
def test_delete_resource_group_success
-
1
response = ApiStub::Requests::Resources::ResourceGroup.create_resource_group_response(@client)
-
1
@resource_groups.stub :delete, response do
-
1
assert @service.delete_resource_group('fog-test-rg')
-
end
-
end
-
-
1
def test_delete_resource_group_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@resource_groups.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_resource_group('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Resource Tag Request
-
1
class TestDeleteResourceTag < Minitest::Test
-
1
def setup
-
3
@service = Fog::Resources::AzureRM.new(credentials)
-
3
@client = @service.instance_variable_get(:@rmc)
-
3
@resources = @client.resources
-
3
@resource_response = ApiStub::Requests::Resources::AzureResource.azure_resource_response(@client)
-
end
-
-
1
def test_delete_resource_tag_success
-
1
@resources.stub :get, @resource_response do
-
1
@resources.stub :create_or_update, @resource_response do
-
1
resource_id = '/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}'
-
1
assert @service.delete_resource_tag(resource_id, 'tag_name', 'tag_value')
-
end
-
end
-
end
-
-
1
def test_delete_resource_tag_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@resources.stub :get, @resource_response do
-
1
@resources.stub :create_or_update, response do
-
1
resource_id = '/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}'
-
2
assert_raises(RuntimeError) { @service.delete_resource_tag(resource_id, 'tag_name', 'tag_value') }
-
end
-
end
-
end
-
-
1
def test_invalid_resource_id_exeception
-
1
resource_id = 'Invalid-Resource-ID'
-
2
assert_raises(RuntimeError) { @service.delete_resource_tag(resource_id, 'tag_name', 'tag_value') }
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Deployment Request
-
1
class TestGetDeployment < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
@rmc_client = @service.instance_variable_get(:@rmc)
-
2
@deployments = @rmc_client.deployments
-
end
-
-
1
def test_list_deployment_success
-
1
mocked_response = ApiStub::Requests::Resources::Deployment.create_deployment_response(@rmc_client)
-
1
@deployments.stub :get, mocked_response do
-
1
assert_equal @service.get_deployment('fog-test-rg', 'fog-test-deployment'), mocked_response
-
end
-
end
-
-
1
def test_list_deployment_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@deployments.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_deployment('fog-test-rg', 'fog-test-deployment') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Resource Group Request
-
1
class TestGetResourceGroup < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
@rmc_client = @service.instance_variable_get(:@rmc)
-
2
@resource_groups = @rmc_client.resource_groups
-
end
-
-
1
def test_get_resource_group_success
-
1
mocked_response = ApiStub::Requests::Resources::ResourceGroup.create_resource_group_response(@rmc_client)
-
1
@resource_groups.stub :get, mocked_response do
-
1
assert_equal @service.get_resource_group('fog-test-rg'), mocked_response
-
end
-
end
-
-
1
def test_get_resource_group_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@resource_groups.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_resource_group('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Deployment Request
-
1
class TestListDeployment < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@rmc)
-
2
@deployments = @client.deployments
-
2
@resource_group = 'fog-test-rg'
-
end
-
-
1
def test_list_deployment_success
-
1
mocked_response = ApiStub::Requests::Resources::Deployment.list_deployment_response(@client)
-
1
@deployments.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_deployments(@resource_group), mocked_response.value
-
end
-
end
-
-
1
def test_list_deployment_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@deployments.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_deployments(@resource_group) }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Resource Groups Request
-
1
class TestListResourceGroups < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@rmc)
-
2
@resource_groups = @client.resource_groups
-
end
-
-
1
def test_list_resource_group_success
-
1
mocked_response = ApiStub::Requests::Resources::ResourceGroup.list_resource_group_response(@client)
-
1
@resource_groups.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_resource_groups, mocked_response.value
-
end
-
end
-
-
1
def test_list_resource_group_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@resource_groups.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_resource_groups }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Tags Request
-
1
class TestListTags < Minitest::Test
-
1
def setup
-
2
@service = Fog::Resources::AzureRM.new(credentials)
-
2
@client = @service.instance_variable_get(:@rmc)
-
2
@resources = @client.resources
-
end
-
-
1
def test_list_tagged_resources_success
-
1
mocked_response = ApiStub::Requests::Resources::AzureResource.list_tagged_resources_response(@client)
-
1
@resources.stub :list_as_lazy, mocked_response do
-
1
assert_equal @service.list_tagged_resources('test_key'), mocked_response.value
-
end
-
end
-
-
1
def test_list_tagged_resources_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@resources.stub :list_as_lazy, response do
-
2
assert_raises(RuntimeError) { @service.list_tagged_resources('test_key') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Azure Resources Request
-
1
class TestTagResource < Minitest::Test
-
1
def setup
-
3
@service = Fog::Resources::AzureRM.new(credentials)
-
3
@client = @service.instance_variable_get(:@rmc)
-
3
@resources = @client.resources
-
3
@resource_response = ApiStub::Requests::Resources::AzureResource.azure_resource_response(@client)
-
end
-
-
1
def test_tag_resource_success
-
1
@resources.stub :get, @resource_response do
-
1
@resources.stub :create_or_update, @resource_response do
-
1
resource_id = '/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}'
-
1
assert_equal @service.tag_resource(resource_id, 'tag_name', 'tag_value'), true
-
end
-
end
-
end
-
-
1
def test_tag_resource_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@resources.stub :get, @resource_response do
-
1
@resources.stub :create_or_update, response do
-
1
resource_id = '/subscriptions/########-####-####-####-############/resourceGroups/{RESOURCE-GROUP}/providers/Microsoft.Network/{PROVIDER-NAME}/{RESOURCE-NAME}'
-
2
assert_raises(RuntimeError) { @service.tag_resource(resource_id, 'tag_name', 'tag_value') }
-
end
-
end
-
end
-
-
1
def test_invalid_resource_id_exeception
-
1
resource_id = 'Invalid-Resource-ID'
-
2
assert_raises(RuntimeError) { @service.tag_resource(resource_id, 'tag_name', 'tag_value') }
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Database
-
1
class TestCreateOrUpdateDatabase < Minitest::Test
-
1
def setup
-
2
@service = Fog::Sql::AzureRM.new(credentials)
-
2
@databases = @service.sql_databases
-
2
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_create_or_update_database_success
-
1
database_response = ApiStub::Requests::Sql::SqlDatabase.create_database_response
-
1
data_hash = ApiStub::Requests::Sql::SqlDatabase.database_hash
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :put, database_response do
-
1
assert_equal @service.create_or_update_database(data_hash), JSON.parse(database_response)
-
end
-
end
-
end
-
-
1
def test_create_or_update_database_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_database('test-resource-group', 'test-server-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Sql Server Firewall Rule
-
1
class TestCreateOrUpdateFirewallRule < Minitest::Test
-
1
def setup
-
2
@service = Fog::Sql::AzureRM.new(credentials)
-
2
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_create_or_update_sql_server_firewall_rule_success
-
1
firewall_rule_response = ApiStub::Requests::Sql::FirewallRule.create_firewall_rule_response
-
1
data_hash = ApiStub::Requests::Sql::FirewallRule.firewall_rule_hash
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :put, firewall_rule_response do
-
1
assert_equal @service.create_or_update_firewall_rule(data_hash), JSON.parse(firewall_rule_response)
-
end
-
end
-
end
-
-
1
def test_create_or_update_sql_server_firewall_rule_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_firewall_rule('test-resource-group', 'test-server-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Sql Server
-
1
class TestCreateOrUpdateSqlServer < Minitest::Test
-
1
def setup
-
2
@service = Fog::Sql::AzureRM.new(credentials)
-
2
@databases = @service.sql_servers
-
2
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_create_or_update_sql_server_success
-
1
server_response = ApiStub::Requests::Sql::SqlServer.create_sql_server_response
-
1
data_hash = ApiStub::Requests::Sql::SqlServer.sql_server_hash
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :put, server_response do
-
1
assert_equal @service.create_or_update_sql_server(data_hash), JSON.parse(server_response)
-
end
-
end
-
end
-
-
1
def test_create_or_update_sql_server_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_sql_server('test-resource-group', 'test-server-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Database
-
1
class TestDeleteDatabase < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_delete_database_success
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :delete, true do
-
1
assert @service.delete_database('fog-test-rg', 'fog-test-server-name', 'database-name')
-
end
-
end
-
end
-
-
1
def test_delete_database_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.delete_database('fog-test-zone')
-
end
-
end
-
end
-
-
1
def test_delete_database_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
assert @service.delete_database('fog-test-rg', 'fog-test-server-name', 'database-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Sql Server Firewall Rule
-
1
class TestDeleteFirewallRule < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_delete_sql_server_firewall_rule_success
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :delete, true do
-
1
assert @service.delete_firewall_rule('fog-test-rg', 'fog-test-server-name', 'rule-name')
-
end
-
end
-
end
-
-
1
def test_delete_sql_server_firewall_rule_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.delete_firewall_rule('fog-test-name')
-
end
-
end
-
end
-
-
1
def test_delete_sql_server_firewall_rule_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
assert @service.delete_firewall_rule('fog-test-rg', 'fog-test-server-name', 'rule-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Sql Server
-
1
class TestDeleteSqlServer < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_delete_sql_server_success
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :delete, true do
-
1
assert @service.delete_sql_server('fog-test-rg', 'fog-test-server-name')
-
end
-
end
-
end
-
-
1
def test_delete_sql_server_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.delete_sql_server('fog-test-zone')
-
end
-
end
-
end
-
-
1
def test_delete_sql_server_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
assert @service.delete_sql_server('fog-test-rg', 'fog-test-server-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Database
-
1
class TestGetDatabase < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_database_success
-
1
create_response = ApiStub::Requests::Sql::SqlDatabase.create_database_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, create_response do
-
1
assert_equal @service.get_database('fog-test-rg', 'fog-test-server-name', 'fog-test-database-name'), JSON.parse(create_response)
-
end
-
end
-
end
-
-
1
def test_get_database_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.get_database('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_get_database_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.get_database('fog-test-rg', 'fog-test-server-name', 'fog-test-database-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Sql Server Firewall Rule
-
1
class TestGetFirewallRule < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_sql_server_firewall_rule_success
-
1
create_response = ApiStub::Requests::Sql::FirewallRule.create_firewall_rule_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, create_response do
-
1
assert_equal @service.get_firewall_rule('fog-test-rg', 'fog-test-server-name', 'rule-name'), JSON.parse(create_response)
-
end
-
end
-
end
-
-
1
def test_get_sql_server_firewall_rule_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.get_firewall_rule('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_get_sql_server_firewall_rule_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.get_firewall_rule('fog-test-rg', 'fog-test-server-name', 'rule-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Sql Server
-
1
class TestGetSqlServer < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_sql_server_success
-
1
create_response = ApiStub::Requests::Sql::SqlServer.create_sql_server_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, create_response do
-
1
assert_equal @service.get_sql_server('fog-test-rg', 'fog-test-server-name'), JSON.parse(create_response)
-
end
-
end
-
end
-
-
1
def test_get_sql_server_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.get_sql_server('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_get_sql_server_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.get_sql_server('fog-test-rg', 'fog-test-server-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Databases Request
-
1
class TestListDatabases < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_list_databases_success
-
1
list_response = ApiStub::Requests::Sql::SqlDatabase.list_database_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, list_response do
-
1
assert_equal @service.list_databases('fog-test-rg', 'fog-test-server-name'), JSON.parse(list_response)['value']
-
end
-
end
-
end
-
-
1
def test_list_databases_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.list_databases('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_list_databases_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.list_databases('fog-test-rg', 'fog-test-zone')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Sql Server Firewall Rule Request
-
1
class TestListFirewallRules < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_list_sql_server_firewall_rules_success
-
1
list_response = ApiStub::Requests::Sql::FirewallRule.list_firewall_rule_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, list_response do
-
1
assert_equal @service.list_firewall_rules('fog-test-rg', 'server-name'), JSON.parse(list_response)['value']
-
end
-
end
-
end
-
-
1
def test_list_sql_servers_firewall_rules_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.list_firewall_rules('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_list_sql_servers_firewall_rules_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.list_firewall_rules('fog-test-rg', 'server-name')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Sql Server Request
-
1
class TestListSqlServers < Minitest::Test
-
1
def setup
-
3
@service = Fog::Sql::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_list_sql_servers_success
-
1
list_response = ApiStub::Requests::Sql::SqlServer.list_sql_server_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, list_response do
-
1
assert_equal @service.list_sql_servers('fog-test-rg'), JSON.parse(list_response)['value']
-
end
-
end
-
end
-
-
1
def test_list_sql_servers_failure
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.list_sql_servers('fog-test-rg', 'server-name')
-
end
-
end
-
end
-
-
1
def test_list_sql_servers_exception
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.list_sql_servers('fog-test-rg')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestListBlobs < Minitest::Test
-
# This class posesses the test cases for the requests of acquire blob lease.
-
1
def setup
-
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
@blob_client = @service.instance_variable_get(:@blob_client)
-
end
-
-
1
def test_acquire_blob_lease_success
-
1
lease_id = { 'leaseId' => 'abc123' }
-
1
@blob_client.stub :acquire_blob_lease, lease_id do
-
1
assert @service.acquire_blob_lease('test_container', 'test_blob'), lease_id
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestListBlobs < Minitest::Test
-
# This class posesses the test cases for the requests of acquire container lease.
-
1
def setup
-
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
@blob_client = @service.instance_variable_get(:@blob_client)
-
end
-
-
1
def test_acquire_container_lease_success
-
1
lease_id = { 'leaseId' => 'abc123' }
-
1
@blob_client.stub :acquire_container_lease, lease_id do
-
1
assert @service.acquire_container_lease('test_container'), lease_id
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestListBlobs < Minitest::Test
-
# This class posesses the test cases for the requests of checking if blob exists.
-
1
def setup
-
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
@blob_client = @service.instance_variable_get(:@blob_client)
-
end
-
-
1
def test_check_blob_exist_success
-
1
blob = ApiStub::Requests::Storage::File.get_blob_properties
-
1
@blob_client.stub :get_blob_properties, blob do
-
1
assert @service.check_blob_exist('test_container', 'test_blob'), true
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for Check Storage Account Request
-
1
class TestCheckStorageAccountNameAvailability < Minitest::Test
-
# This class posesses the test cases for the requests of storage account service.
-
1
def setup
-
3
@azure_credentials = Fog::Storage::AzureRM.new(credentials)
-
3
@storage_mgmt_client = @azure_credentials.instance_variable_get(:@storage_mgmt_client)
-
3
@storage_accounts = @storage_mgmt_client.storage_accounts
-
end
-
-
1
def test_check_storage_account_name_availability_success
-
1
params = Azure::ARM::Storage::Models::StorageAccountCheckNameAvailabilityParameters.new
-
1
params.name = 'teststorageaccount'
-
1
params.type = 'Microsoft.Storage/storageAccounts'
-
1
true_case_response = ApiStub::Requests::Storage::StorageAccount.true_case_for_check_name_availability(@storage_mgmt_client)
-
1
@storage_accounts.stub :check_name_availability, true_case_response do
-
1
assert_equal @azure_credentials.check_storage_account_name_availability(params), true
-
end
-
end
-
-
1
def test_check_storage_account_name_availability_failure
-
1
params = Azure::ARM::Storage::Models::StorageAccountCheckNameAvailabilityParameters.new
-
1
params.name = 'teststorageaccount'
-
1
params.type = 'Microsoft.Storage/storageAccounts'
-
1
false_case_response = ApiStub::Requests::Storage::StorageAccount.false_case_for_check_name_availability(@storage_mgmt_client)
-
1
@storage_accounts.stub :check_name_availability, false_case_response do
-
1
assert_equal @azure_credentials.check_storage_account_name_availability(params), false
-
1
assert_raises ArgumentError do
-
1
@azure_credentials.check_storage_account_name_availability(params, 'wrong arg')
-
end
-
end
-
end
-
-
1
def test_check_storage_account_name_availability_exception
-
1
params = Azure::ARM::Storage::Models::StorageAccountCheckNameAvailabilityParameters.new
-
1
params.name = 'teststorageaccount'
-
1
params.type = 'Microsoft.Storage/storageAccounts'
-
2
raise_exception = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception', 'code' => 'ResourceGroupNotFound' }) }
-
1
@storage_accounts.stub :check_name_availability, raise_exception do
-
2
assert_raises(RuntimeError) { @azure_credentials.check_storage_account_name_availability(params) }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestCompareBlobs < Minitest::Test
-
# This class posesses the test cases for the requests of comparing blobs.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
1
@compare_container_blobs_response = ApiStub::Requests::Storage::File.list_blobs_response
-
end
-
-
1
def test_compare_container_blobss_success
-
1
@service.stub :get_identical_blobs_from_containers, @compare_container_blobs_response do
-
1
assert @service.compare_container_blobs('container1', 'container2'), @compare_container_blobs_response
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestCopyBlob < Minitest::Test
-
# This class posesses the test cases for the requests of copying blobs.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
1
@copy_blob_reponse = ApiStub::Requests::Storage::File.copy_blob
-
end
-
-
1
def test_copy_blob_success
-
1
@blob_client.stub :copy_blob, @copy_blob_reponse do
-
1
assert @service.copy_blob('destination_container', 'destination_blob', 'source_container', 'source_blob'), @copy_blob_reponse
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestCopyBlobFromUri < Minitest::Test
-
# This class posesses the test cases for the requests of copying blobs.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
1
@copy_blob_reponse = ApiStub::Requests::Storage::File.copy_blob
-
end
-
-
1
def test_copy_blob_from_uri_success
-
1
@blob_client.stub :copy_blob_from_uri, @copy_blob_reponse do
-
1
assert @service.copy_blob_from_uri('destination_container', 'destination_blob', 'VHD uri'), @copy_blob_reponse
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Container Class
-
1
class TestCreateContainer < Minitest::Test
-
# This class posesses the test cases for the requests of creating storage containers.
-
1
def setup
-
4
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
4
@blob_client = @service.instance_variable_get(:@blob_client)
-
4
@storage_container_object = ApiStub::Requests::Storage::Directory.create_container
-
end
-
-
1
def test_create_container_with_service_success
-
1
@blob_client.stub :create_container, @storage_container_object do
-
1
assert @service.create_container('testcontainer1')
-
end
-
end
-
-
1
def test_create_container_with_internal_client_success
-
1
@blob_client.stub :create_container, @storage_container_object do
-
1
assert @blob_client.create_container('testcontainer1')
-
end
-
end
-
-
1
def test_create_container_with_service_exception
-
2
assert_raises(URI::InvalidURIError) { @service.create_container('testcontainer1#@#@') }
-
end
-
-
1
def test_create_container_with_internal_client_exception
-
2
assert_raises(URI::InvalidURIError) { @blob_client.create_container('testcontainer1#@#@') }
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Data Disk Class
-
1
class TestCreateDisk < Minitest::Test
-
# This class posesses the test cases for the request of create disk.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
1
@storage_data_disk_object = ApiStub::Requests::Storage::File.upload_block_blob_from_file
-
end
-
-
1
def test_create_disk_success
-
1
@service.stub :upload_block_blob_from_file, @storage_data_disk_object do
-
1
assert @service.create_disk('test_blob', options = {})
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Recovery Vault request
-
1
class TestCreateRecoveryVault < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_create_recovery_vault_success
-
1
response = ApiStub::Requests::Storage::RecoveryVault.create_recovery_vault_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :put, response do
-
1
assert_equal @service.create_or_update_recovery_vault('fog-test-rg', 'westus', 'fog-test-vault'), JSON.parse(response)
-
end
-
end
-
end
-
-
1
def test_create_recovery_vault_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.create_or_update_recovery_vault('fog-test-rg', 'fog-test-vault')
-
end
-
end
-
end
-
-
1
def test_create_recovery_vault_exception
-
2
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.create_or_update_recovery_vault('fog-test-rg', 'westus', 'fog-test-vault')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for Create Storage Account Request
-
1
class TestCreateStorageAccount < Minitest::Test
-
# This class posesses the test cases for the requests of storage account service.
-
1
def setup
-
6
@azure_credentials = Fog::Storage::AzureRM.new(credentials)
-
6
@storage_mgmt_client = @azure_credentials.instance_variable_get(:@storage_mgmt_client)
-
6
@storage_accounts = @storage_mgmt_client.storage_accounts
-
6
@storage_account_arguments = ApiStub::Requests::Storage::StorageAccount.storage_account_arguments
-
6
@storage_acc_obj = ApiStub::Requests::Storage::StorageAccount.storage_account_request(@storage_mgmt_client)
-
end
-
-
1
def test_create_storage_account_success
-
1
@storage_accounts.stub :create, @storage_acc_obj do
-
1
assert_equal @azure_credentials.create_storage_account(@storage_account_arguments), @storage_acc_obj
-
end
-
end
-
-
1
def test_create_storage_account_failure
-
1
@storage_accounts.stub :create, @storage_acc_obj do
-
1
assert_raises ArgumentError do
-
1
@azure_credentials.create_storage_account
-
end
-
end
-
end
-
-
1
def test_create_storage_account_exception
-
2
raise_exception = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@storage_accounts.stub :create, raise_exception do
-
2
assert_raises(RuntimeError) { @azure_credentials.create_storage_account(@storage_account_arguments) }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestDeleteBlob < Minitest::Test
-
# This class posesses the test cases for the requests of deleting storage blobs.
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
2
@blob_client = @service.instance_variable_get(:@blob_client)
-
end
-
-
1
def test_delete_blob_with_service_success
-
1
@blob_client.stub :delete_blob, true do
-
1
assert @service.delete_blob('testcontainer1', 'testblob1')
-
end
-
end
-
-
1
def test_delete_blob_with_internal_client_success
-
1
@blob_client.stub :delete_blob, true do
-
1
assert @blob_client.delete_blob('testcontainer1', 'testblob1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Container Class
-
1
class TestDeleteContainer < Minitest::Test
-
# This class posesses the test cases for the requests of deleting storage containers.
-
1
def setup
-
4
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
4
@blob_client = @service.instance_variable_get(:@blob_client)
-
end
-
-
1
def test_delete_container_with_service_success
-
1
@blob_client.stub :delete_container, true do
-
1
assert @service.delete_container('testcontainer1')
-
end
-
end
-
-
1
def test_delete_container_with_internal_client_success
-
1
@blob_client.stub :delete_container, true do
-
1
assert @blob_client.delete_container('testcontainer1')
-
end
-
end
-
-
1
def test_delete_container_with_service_exception
-
2
assert_raises(URI::InvalidURIError) { @service.delete_container('testcontainer1#@#@') }
-
end
-
-
1
def test_delete_container_with_internal_client_exception
-
2
assert_raises(URI::InvalidURIError) { @blob_client.delete_container('testcontainer1#@#@') }
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Data Disk Class
-
1
class TestDeleteDisk < Minitest::Test
-
# This class posesses the test cases for the requests of deleting data disks.
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
2
@blob_client = @service.instance_variable_get(:@blob_client)
-
2
@storage_data_disk_object = ApiStub::Requests::Storage::File.get_blob_properties
-
end
-
-
1
def test_delete_disk_success
-
1
@service.stub :delete_blob, nil do
-
1
assert @service.delete_disk('testblob1')
-
end
-
end
-
-
1
def test_delete_disk_failure
-
1
@service.stub :delete_blob, @storage_data_disk_object do
-
1
assert !@service.delete_disk('testblob1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Recovery Vault request
-
1
class TestDeleteRecoveryVault < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_delete_recovery_vault_success
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :delete, true do
-
1
assert @service.delete_recovery_vault('fog-test-rg', 'fog-test-vault'), true
-
end
-
end
-
end
-
-
1
def test_delete_recovery_vault_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.delete_recovery_vault('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_delete_recovery_vault_exception
-
1
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
assert @service.delete_recovery_vault('fog-test-rg')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for Delete Storage Account Request
-
1
class TestDeleteStorageAccount < Minitest::Test
-
# This class posesses the test cases for the requests of storage account service.
-
1
def setup
-
3
@azure_credentials = Fog::Storage::AzureRM.new(credentials)
-
3
storage_mgmt_client = @azure_credentials.instance_variable_get(:@storage_mgmt_client)
-
3
@storage_accounts = storage_mgmt_client.storage_accounts
-
end
-
-
1
def test_delete_storage_account_success
-
1
@storage_accounts.stub :delete, nil do
-
1
assert @azure_credentials.delete_storage_account('gateway-RG', 'fog_test_storage_account')
-
end
-
end
-
-
1
def test_delete_storage_account_failure
-
2
assert_raises(ArgumentError) { @azure_credentials.delete_storage_account('gateway-RG', 'fog_test_storage_account', 'Hi') }
-
end
-
-
1
def test_delete_storage_account_exception
-
2
raise_exception = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@storage_accounts.stub :delete, raise_exception do
-
2
assert_raises(RuntimeError) { @azure_credentials.delete_storage_account('gateway-RG', 'fog_test_storage_account') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Disable Backup Protection request
-
1
class TestDisableBackupProtection < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
-
3
@compute_service = Fog::Compute::AzureRM.new(credentials)
-
3
@compute_client = @compute_service.instance_variable_get(:@compute_mgmt_client)
-
end
-
-
1
def test_disable_backup_protection_success
-
1
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
-
1
@service.stub :set_recovery_vault_context, true do
-
1
@service.stub :get_virtual_machine_id, response.id do
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :put, true do
-
1
assert_equal @service.disable_backup_protection('fog-test-vault', 'fog-test-rg', 'fog-test-vm', 'fog-test-vm-rg'), true
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_disable_backup_protection_argument_error
-
1
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
-
1
@service.stub :set_recovery_vault_context, true do
-
1
@service.stub :get_virtual_machine_id, response.id do
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.disable_backup_protection('fog-test-vault', 'fog-test-rg')
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_disable_backup_protection_exception
-
1
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
-
2
rest_client_response = -> { fail RestClient::Exception.new("'body': {'error': {'code': 'ResourceNotFound', 'message': 'mocked exception message'}}") }
-
1
@service.stub :set_recovery_vault_context, true do
-
1
@service.stub :get_virtual_machine_id, response.id do
-
1
@token_provider.stub :get_authentication_header, rest_client_response do
-
1
assert_raises Exception do
-
1
@service.disable_backup_protection('fog-test-vault', 'fog-test-rg', 'fog-test-vm', 'fog-test-vm-rg')
-
end
-
end
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestDownloadBlob < Minitest::Test
-
# This class posesses the test cases for the requests of getting storage blob properties.
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
2
@blob_client = @service.instance_variable_get(:@blob_client)
-
2
@storage_blob_object = ApiStub::Requests::Storage::File.download_blob_to_file
-
end
-
-
1
def test_download_blob_with_service_success
-
1
@blob_client.stub :get_blob, @storage_blob_object do
-
1
file_path = 'test.dat'
-
1
assert @service.download_blob_to_file('testcontainer', 'testblob1', file_path)
-
1
File.delete file_path
-
end
-
end
-
-
1
def test_download_blob_with_internal_client_success
-
1
@blob_client.stub :get_blob, @storage_blob_object do
-
1
assert @blob_client.get_blob('testcontainer', 'testblob1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Enable Backup Protection request
-
1
class TestEnableBackupProtection < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
-
3
@compute_service = Fog::Compute::AzureRM.new(credentials)
-
3
@compute_client = @compute_service.instance_variable_get(:@compute_mgmt_client)
-
-
3
@response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
-
3
@policy_response = ApiStub::Requests::Storage::RecoveryVault.get_backup_protection_policy_response
-
end
-
-
1
def test_enable_backup_protection_success
-
1
@service.stub :set_recovery_vault_context, true do
-
1
@service.stub :get_backup_protection_policy, JSON.parse(@policy_response)['value'] do
-
1
@service.stub :get_virtual_machine_id, @response.id do
-
1
@service.stub :get_backup_job_for_vm, nil do
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :put, true do
-
1
assert_equal @service.enable_backup_protection('fog-test-vault', 'fog-test-rg', 'fog-test-vm', 'fog-test-vm-rg'), true
-
end
-
end
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_enable_backup_protection_argument_error
-
1
@service.stub :set_recovery_vault_context, true do
-
1
@service.stub :get_backup_protection_policy, JSON.parse(@policy_response)['value'] do
-
1
@service.stub :get_virtual_machine_id, @response.id do
-
1
@service.stub :get_backup_job_for_vm, nil do
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.enable_backup_protection('fog-test-vault', 'fog-test-rg')
-
end
-
end
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_enable_backup_protection_exception
-
1
response = ApiStub::Requests::Compute::VirtualMachine.virtual_machine_response(@compute_client)
-
1
policy_response = ApiStub::Requests::Storage::RecoveryVault.get_backup_protection_policy_response
-
2
rest_client_response = -> { fail RestClient::Exception.new("'body': {'error': {'code': 'ResourceNotFound', 'message': 'mocked exception message'}}") }
-
1
@service.stub :set_recovery_vault_context, true do
-
1
@service.stub :get_backup_protection_policy, JSON.parse(policy_response)['value'] do
-
1
@service.stub :get_virtual_machine_id, response.id do
-
1
@service.stub :get_backup_job_for_vm, nil do
-
1
@token_provider.stub :get_authentication_header, rest_client_response do
-
1
assert_raises Exception do
-
1
@service.enable_backup_protection('fog-test-vault', 'fog-test-rg', 'fog-test-vm', 'fog-test-vm-rg')
-
end
-
end
-
end
-
end
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get All Backup Jobs request
-
1
class TestGetAllBackupJobs < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_all_backup_jobs_success
-
1
response = ApiStub::Requests::Storage::RecoveryVault.get_all_backup_jobs_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, response do
-
1
assert_equal @service.get_all_backup_jobs('fog-test-vault', 'fog-test-rg'), JSON.parse(response)['value']
-
end
-
end
-
end
-
-
1
def test_get_all_backup_jobs_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.get_all_backup_jobs('fog-test-vault')
-
end
-
end
-
end
-
-
1
def test_get_all_backup_jobs_exception
-
2
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.get_all_backup_jobs('fog-test-vault', 'fog-test-rg')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Backup Container request
-
1
class TestGetBackupContainer < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_backup_container_success
-
1
response = ApiStub::Requests::Storage::RecoveryVault.get_backup_container_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, response do
-
1
assert_equal @service.get_backup_container('fog-test-rg', 'fog-test-vault', 'fog-test-vm'), JSON.parse(response)['value']
-
end
-
end
-
end
-
-
1
def test_get_backup_container_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.get_backup_container('fog-test-rg', 'fog-test-vault')
-
end
-
end
-
end
-
-
1
def test_get_backup_container_exception
-
2
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.get_backup_container('fog-test-rg', 'fog-test-vault', 'fog-test-vm')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Backup Item request
-
1
class TestGetBackupItem < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_backup_item_success
-
1
response = ApiStub::Requests::Storage::RecoveryVault.get_backup_item_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, response do
-
1
assert_equal @service.get_backup_item('fog-test-rg', 'fog-test-vault'), JSON.parse(response)['value']
-
end
-
end
-
end
-
-
1
def test_get_backup_item_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.get_backup_item('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_get_backup_item_exception
-
2
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.get_backup_item('fog-test-rg', 'fog-test-vault')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Backup Job for VM request
-
1
class TestGetBackupJobForVM < Minitest::Test
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(credentials)
-
2
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_backup_job_for_vm_success
-
1
backup_jobs_response = ApiStub::Requests::Storage::RecoveryVault.get_all_backup_jobs_response
-
1
single_backup_job_response = JSON.parse(backup_jobs_response)['value'][0]
-
1
@service.stub :get_all_backup_jobs, JSON.parse(backup_jobs_response)['value'] do
-
1
assert_equal @service.get_backup_job_for_vm('fog-test-vault', 'fog-test-vault', 'fog-test-vm', 'fog-test-vm-rg', 'Backup'), single_backup_job_response
-
end
-
end
-
-
1
def test_get_backup_job_for_vm_argument_error
-
1
backup_jobs_response = ApiStub::Requests::Storage::RecoveryVault.get_all_backup_jobs_response
-
1
@service.stub :get_all_backup_jobs, JSON.parse(backup_jobs_response)['value'] do
-
1
assert_raises ArgumentError do
-
1
@service.get_backup_job_for_vm('fog-test-vault', 'fog-test-vault', 'fog-test-vm')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Backup Protection Policy request
-
1
class TestGetBackupProtectionPolicy < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_backup_protection_policy_success
-
1
response = ApiStub::Requests::Storage::RecoveryVault.get_backup_protection_policy_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, response do
-
1
assert_equal @service.get_backup_protection_policy('fog-test-rg', 'fog-test-vault'), JSON.parse(response)['value']
-
end
-
end
-
end
-
-
1
def test_get_backup_protection_policy_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.get_backup_protection_policy('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_get_backup_protection_policy_exception
-
2
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.get_backup_protection_policy('fog-test-rg', 'fog-test-vault')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Blob Class
-
1
class TestGetBlobMetadata < Minitest::Test
-
# This class posesses the test cases for the requests of Blob service.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
1
@blob_object = ApiStub::Requests::Storage::File.test_get_blob_metadata
-
end
-
-
1
def test_get_blob_metadata_success
-
1
metadata_response = ApiStub::Requests::Storage::File.metadata_response
-
1
@blob_client.stub :get_blob_metadata, @blob_object do
-
1
assert_equal @service.get_blob_metadata('Test-container', 'Test-blob'), metadata_response
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestGetBlobProperties < Minitest::Test
-
# This class posesses the test cases for the requests of getting storage blob properties.
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
2
@blob_client = @service.instance_variable_get(:@blob_client)
-
2
@storage_blob_object = ApiStub::Requests::Storage::File.get_blob_properties
-
end
-
-
1
def test_get_blob_properties_with_service_success
-
1
@blob_client.stub :get_blob_properties, @storage_blob_object do
-
1
assert @service.get_blob_properties('testcontainer', 'testblob1')
-
end
-
end
-
-
1
def test_get_blob_properties_with_internal_client_success
-
1
@blob_client.stub :get_blob_properties, @storage_blob_object do
-
1
assert @blob_client.get_blob_properties('testcontainer', 'testblob1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Container Class
-
1
class TestGetContainerACL < Minitest::Test
-
# This class posesses the test cases for the requests of getting storage container properties.
-
1
def setup
-
4
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
4
@blob_client = @service.instance_variable_get(:@blob_client)
-
4
@storage_container_object = ApiStub::Requests::Storage::Directory.get_container_access_control_list
-
end
-
-
1
def test_get_container_acl_with_service_success
-
1
@blob_client.stub :get_container_acl, @storage_container_object do
-
1
assert @service.get_container_access_control_list('testcontainer1')
-
end
-
end
-
-
1
def test_get_container_acl_with_internal_client_success
-
1
@blob_client.stub :get_container_acl, @storage_container_object do
-
1
assert @blob_client.get_container_acl('testcontainer1')
-
end
-
end
-
-
1
def test_get_container_acl_with_service_exception
-
2
assert_raises(URI::InvalidURIError) { @service.get_container_access_control_list('testcontainer1#@#@') }
-
end
-
-
1
def test_get_container_acl_with_internal_client_exception
-
2
assert_raises(URI::InvalidURIError) { @blob_client.get_container_acl('testcontainer1#@#@') }
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Container Class
-
1
class TestGetContainerMetadata < Minitest::Test
-
# This class posesses the test cases for the requests of container service.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
1
@container_object = ApiStub::Requests::Storage::Directory.test_get_container_metadata
-
end
-
-
1
def test_get_container_metadata_success
-
1
metadata_response = ApiStub::Requests::Storage::Directory.metadata_response
-
1
@blob_client.stub :get_container_metadata, @container_object do
-
1
assert_equal @service.get_container_metadata('Test-container'), metadata_response
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Container Class
-
1
class TestGetContainerProperties < Minitest::Test
-
# This class posesses the test cases for the requests of getting storage container properties.
-
1
def setup
-
4
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
4
@blob_client = @service.instance_variable_get(:@blob_client)
-
4
@storage_container_object = ApiStub::Requests::Storage::Directory.get_container_properties
-
end
-
-
1
def test_get_container_properties_with_service_success
-
1
@blob_client.stub :get_container_properties, @storage_container_object do
-
1
assert @service.get_container_properties('testcontainer1')
-
end
-
end
-
-
1
def test_get_container_properties_with_internal_client_success
-
1
@blob_client.stub :get_container_properties, @storage_container_object do
-
1
assert @blob_client.get_container_properties('testcontainer1')
-
end
-
end
-
-
1
def test_get_container_properties_with_service_exception
-
2
assert_raises(URI::InvalidURIError) { @service.get_container_properties('testcontainer1#@#@') }
-
end
-
-
1
def test_get_container_properties_with_internal_client_exception
-
2
assert_raises(URI::InvalidURIError) { @blob_client.get_container_properties('testcontainer1#@#@') }
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Recovery Vault request
-
1
class TestGetRecoveryVault < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_get_recovery_vault_success
-
1
response = ApiStub::Requests::Storage::RecoveryVault.get_recovery_vault_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, response do
-
1
assert_equal @service.get_recovery_vault('fog-test-rg', 'fog-test-vault'), JSON.parse(response)['value'][0]
-
end
-
end
-
end
-
-
1
def test_get_recovery_vault_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.get_recovery_vault('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_get_recovery_vault_exception
-
2
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.get_recovery_vault('fog-test-rg', 'fog-test-vault')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Storage Access Keys
-
1
class TestGetStorageAccessKeys < Minitest::Test
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(credentials)
-
2
@storage_mgmt_client = @service.instance_variable_get(:@storage_mgmt_client)
-
2
@storage_accounts = @storage_mgmt_client.storage_accounts
-
end
-
-
1
def test_get_storage_access_keys_success
-
1
mocked_response = ApiStub::Requests::Storage::StorageAccount.list_keys_response
-
1
@storage_accounts.stub :list_keys, mocked_response do
-
1
assert_equal @service.get_storage_access_keys('fog-test-rg', 'fogstorageaccount'), mocked_response.keys
-
end
-
end
-
-
1
def test_get_storage_access_keys_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@storage_accounts.stub :list_keys, response do
-
2
assert_raises(RuntimeError) { @service.get_storage_access_keys('fog-test-rg', 'fogstorageaccount') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for Get Storage Account Request
-
1
class TestGetStorageAccount < Minitest::Test
-
# This class posesses the test cases for the requests of storage account service.
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(credentials)
-
2
@storage_mgmt_client = @service.instance_variable_get(:@storage_mgmt_client)
-
2
@storage_accounts = @storage_mgmt_client.storage_accounts
-
end
-
-
1
def test_get_storage_account_success
-
1
response_body = ApiStub::Requests::Storage::StorageAccount.storage_account_request(@storage_mgmt_client)
-
1
@storage_accounts.stub :get_properties, response_body do
-
1
assert_equal @service.get_storage_account('fog_test_rg', 'fogtestsasecond'), response_body
-
end
-
end
-
-
1
def test_list_storage_accounts_exeception
-
2
raise_exception = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@storage_accounts.stub :get_properties, raise_exception do
-
2
assert_raises(RuntimeError) { @service.get_storage_account('fog_test_rg', 'fogtestsasecond') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestListBlobsInContainer < Minitest::Test
-
# This class posesses the test cases for the requests of listing storage containers.
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
2
@blob_client = @service.instance_variable_get(:@blob_client)
-
2
@storage_blob_object = ApiStub::Requests::Storage::File.list_blobs_response
-
end
-
-
1
def test_list_blobs_with_service_success
-
1
@blob_client.stub :list_blobs, @storage_blob_object do
-
1
assert @service.list_blobs('test-container'), @storage_blob_object
-
end
-
end
-
-
1
def test_list_blobs_with_internal_client_success
-
1
@blob_client.stub :list_blobs, @storage_blob_object do
-
1
assert @blob_client.list_blobs('test-container'), @storage_blob_object
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Container Class
-
1
class TestListContainers < Minitest::Test
-
# This class posesses the test cases for the requests of listing storage containers.
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
2
@blob_client = @service.instance_variable_get(:@blob_client)
-
2
@storage_container_object = ApiStub::Requests::Storage::Directory.list_containers
-
end
-
-
1
def test_list_containers_with_service_success
-
1
@blob_client.stub :list_containers, @storage_container_object do
-
1
assert @service.list_containers.size >= 1
-
end
-
end
-
-
1
def test_list_containers_with_internal_client_success
-
1
@blob_client.stub :list_containers, @storage_container_object do
-
1
assert @blob_client.list_containers.size >= 1
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Recovery Vault request
-
1
class TestListRecoveryVault < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_list_recovery_vault_success
-
1
response = ApiStub::Requests::Storage::RecoveryVault.get_recovery_vault_response
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, response do
-
1
assert_equal @service.list_recovery_vaults('fog-test-rg'), JSON.parse(response)['value']
-
end
-
end
-
end
-
-
1
def test_list_recovery_vault_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.list_recovery_vaults
-
end
-
end
-
end
-
-
1
def test_list_recovery_vault_exception
-
2
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.list_recovery_vaults('fog-test-rg')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for List Storage Accounts Request
-
1
class TestListStorageAccounts < Minitest::Test
-
# This class posesses the test cases for the requests of storage account service.
-
1
def setup
-
3
@azure_credentials = Fog::Storage::AzureRM.new(credentials)
-
3
@storage_mgmt_client = @azure_credentials.instance_variable_get(:@storage_mgmt_client)
-
3
@storage_accounts = @storage_mgmt_client.storage_accounts
-
end
-
-
1
def test_list_storage_accounts_success
-
1
response_body = ApiStub::Requests::Storage::StorageAccount.list_storage_accounts(@storage_mgmt_client)
-
1
@storage_accounts.stub :list, response_body do
-
1
assert @azure_credentials.list_storage_accounts.size >= 1
-
1
@azure_credentials.list_storage_accounts.each do |s|
-
1
assert_equal s.name, response_body.value[0].name
-
end
-
end
-
end
-
-
1
def test_list_storage_accounts_failure
-
1
response_body = ApiStub::Requests::Storage::StorageAccount.list_storage_accounts(@storage_mgmt_client)
-
1
@storage_accounts.stub :list, response_body do
-
1
assert_raises ArgumentError do
-
1
assert @azure_credentials.list_storage_accounts('wrong arg', 'second wrong arg')
-
end
-
end
-
end
-
-
1
def test_list_storage_accounts_exeception
-
2
raise_exception = -> { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@storage_accounts.stub :list, raise_exception do
-
2
assert_raises(RuntimeError) { @azure_credentials.list_storage_accounts }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for List Storage Accounts For Resource Group Request
-
1
class TestListStorageAccountsForRG < Minitest::Test
-
# This class posesses the test cases for the requests of storage account service.
-
1
def setup
-
3
@azure_credentials = Fog::Storage::AzureRM.new(credentials)
-
3
@storage_mgmt_client = @azure_credentials.instance_variable_get(:@storage_mgmt_client)
-
3
@storage_accounts = @storage_mgmt_client.storage_accounts
-
end
-
-
1
def test_list_storage_accounts_for_rg_success
-
1
response_body = ApiStub::Requests::Storage::StorageAccount.list_storage_accounts_for_rg(@storage_mgmt_client)
-
1
@storage_accounts.stub :list_by_resource_group, response_body do
-
1
assert @azure_credentials.list_storage_account_for_rg('gateway-RG').size >= 1
-
1
@azure_credentials.list_storage_account_for_rg('gateway-RG').each do |s|
-
1
assert_equal s.name, response_body.value[0].name
-
end
-
end
-
end
-
-
1
def test_list_storage_accounts_for_rg_failure
-
1
response_body = ApiStub::Requests::Storage::StorageAccount.list_storage_accounts_for_rg(@storage_mgmt_client)
-
1
@storage_accounts.stub :list_by_resource_group, response_body do
-
1
assert_raises ArgumentError do
-
1
@azure_credentials.list_storage_account_for_rg('gateway-RG', 'wrong argument')
-
end
-
end
-
end
-
-
1
def test_list_storage_accounts_for_rg_exception
-
2
raise_exception = proc { fail MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@storage_accounts.stub :list_by_resource_group, raise_exception do
-
2
assert_raises(RuntimeError) { @azure_credentials.list_storage_account_for_rg('gateway-RG') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestListBlobs < Minitest::Test
-
# This class posesses the test cases for the requests of releasing blob lease.
-
1
def setup
-
5
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
5
@blob_client = @service.instance_variable_get(:@blob_client)
-
end
-
-
1
def test_release_blob_lease_success
-
1
@blob_client.stub :release_blob_lease, true do
-
1
assert @service.release_blob_lease('test_container', 'test_blob', '78659cee-b7cb-4f18-b9f8-0e9e8bf849f6'), true
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestListBlobs < Minitest::Test
-
# This class posesses the test cases for the requests of releasing container lease.
-
1
def setup
-
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
@blob_client = @service.instance_variable_get(:@blob_client)
-
end
-
-
1
def test_release_container_lease_success
-
1
@blob_client.stub :release_container_lease, true do
-
1
assert @service.release_container_lease('test_container', '78659cee-b7cb-4f18-b9f8-0e9e8bf849f6'), true
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Blob Class
-
1
class TestSetBlobMetadata < Minitest::Test
-
# This class posesses the test cases for the requests of blob service.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
1
@metadata = ApiStub::Requests::Storage::File.metadata_response
-
end
-
-
1
def test_set_blob_metadata_success
-
1
@blob_client.stub :set_blob_metadata, true do
-
1
assert @service.set_blob_metadata('Test-container', 'Test-blob', @metadata)
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Blob Class
-
1
class TestSetBlobProperties < Minitest::Test
-
# This class posesses the test cases for the requests of blob service.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
end
-
-
1
def test_set_blob_properties_success
-
1
@blob_client.stub :set_blob_properties, true do
-
1
assert @service.set_blob_properties('testcontainer', 'testblob10', content_language: 'english', content_disposition: 'attachment')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Container Class
-
1
class TestSetContainerMetadata < Minitest::Test
-
# This class posesses the test cases for the requests of container service.
-
1
def setup
-
1
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
1
@blob_client = @service.instance_variable_get(:@blob_client)
-
1
@metadata = ApiStub::Requests::Storage::Directory.metadata_response
-
end
-
-
1
def test_set_container_metadata_success
-
1
@blob_client.stub :set_container_metadata, true do
-
1
assert @service.set_container_metadata('Test-container', @metadata)
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Set Recovery Vault Context
-
1
class TestSetRecoveryVaultContext < Minitest::Test
-
1
def setup
-
3
@service = Fog::Storage::AzureRM.new(credentials)
-
3
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_set_recovery_vault_context_success
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :get, true do
-
1
assert_equal @service.set_recovery_vault_context('fog-test-rg', 'fog-test-vault'), true
-
end
-
end
-
end
-
-
1
def test_set_recovery_vault_context_argument_error
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.set_recovery_vault_context('fog-test-rg')
-
end
-
end
-
end
-
-
1
def test_set_recovery_vault_context_exception
-
2
response = -> { fail Exception.new('mocked exception') }
-
1
@token_provider.stub :get_authentication_header, response do
-
1
assert_raises Exception do
-
1
@service.set_recovery_vault_context('fog-test-rg', 'fog-test-vault')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
1
class TestStartBackup < Minitest::Test
-
1
def setup
-
4
@service = Fog::Storage::AzureRM.new(credentials)
-
4
@token_provider = Fog::Credentials::AzureRM.instance_variable_get(:@token_provider)
-
end
-
-
1
def test_start_backup_success
-
1
backup_item_response = ApiStub::Requests::Storage::RecoveryVault.get_backup_item_response
-
1
@service.stub :get_backup_job_for_vm, nil do
-
1
@service.stub :get_backup_item, JSON.parse(backup_item_response)['value'] do
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
RestClient.stub :post, true do
-
1
assert_equal @service.start_backup('fog-test-rg', 'fog-test-vault', 'fog-test-vm', 'fog-test-vm-rg'), true
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_start_backup_job_running
-
1
backup_job_response = ApiStub::Requests::Storage::RecoveryVault.get_backup_job_for_vm_response
-
1
@service.stub :get_backup_job_for_vm, JSON.parse(backup_job_response) do
-
1
assert_equal @service.start_backup('fog-test-rg', 'fog-test-vault', 'fog-test-vm', 'fog-test-vm-rg'), false
-
end
-
end
-
-
1
def test_start_backup_argument_error
-
1
backup_item_response = ApiStub::Requests::Storage::RecoveryVault.get_backup_item_response
-
1
@service.stub :get_backup_job_for_vm, nil do
-
1
@service.stub :get_backup_item, JSON.parse(backup_item_response)['value'] do
-
1
@token_provider.stub :get_authentication_header, 'Bearer <some-token>' do
-
1
assert_raises ArgumentError do
-
1
@service.start_backup('fog-test-rg', 'fog-test-vault')
-
end
-
end
-
end
-
end
-
end
-
-
1
def test_start_backup_exception
-
1
backup_item_response = ApiStub::Requests::Storage::RecoveryVault.get_backup_item_response
-
2
rest_client_response = -> { fail Exception.new('mocked exception') }
-
1
@service.stub :get_backup_job_for_vm, nil do
-
1
@service.stub :get_backup_item, JSON.parse(backup_item_response)['value'] do
-
1
@token_provider.stub :get_authentication_header, rest_client_response do
-
1
assert_raises Exception do
-
1
assert_equal @service.start_backup('fog-test-rg', 'fog-test-vault', 'fog-test-vm', 'fog-test-vm-rg'), true
-
end
-
end
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test Class for Create Storage Account Request
-
1
class TestCreateStorageAccount < Minitest::Test
-
# This class posesses the test cases for the requests of storage account service.
-
1
def setup
-
@azure_credentials = Fog::Storage::AzureRM.new(credentials)
-
@storage_mgmt_client = @azure_credentials.instance_variable_get(:@storage_mgmt_client)
-
@storage_accounts = @storage_mgmt_client.storage_accounts
-
@storage_account_arguments = ApiStub::Requests::Storage::StorageAccount.storage_account_arguments
-
@storage_acc_obj = ApiStub::Requests::Storage::StorageAccount.storage_account_request(@storage_mgmt_client)
-
end
-
-
1
def test_update_storage_account_success
-
1
@storage_accounts.stub :update, @storage_acc_obj do
-
1
assert_equal @azure_credentials.update_storage_account(@storage_account_arguments), @storage_acc_obj
-
end
-
end
-
-
1
def test_update_storage_account_failure
-
1
@storage_accounts.stub :update, @storage_acc_obj do
-
1
assert_raises ArgumentError do
-
1
@azure_credentials.update_storage_account
-
end
-
end
-
end
-
-
1
def test_update_storage_account_exception
-
2
raise_exception = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@storage_accounts.stub :update, raise_exception do
-
2
assert_raises(RuntimeError) { @azure_credentials.update_storage_account(@storage_account_arguments) }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Storage Blob Class
-
1
class TestUploadBlockBlob < Minitest::Test
-
# This class posesses the test cases for the requests of getting storage blob properties.
-
1
def setup
-
2
@service = Fog::Storage::AzureRM.new(storage_account_credentials)
-
2
@blob_client = @service.instance_variable_get(:@blob_client)
-
2
@storage_blob_object = ApiStub::Requests::Storage::File.upload_block_blob_from_file
-
end
-
-
1
def test_upload_blob_with_service_success
-
1
@blob_client.stub :create_block_blob, @storage_blob_object do
-
1
assert @service.upload_block_blob_from_file('testcontainer', 'testblob1', nil)
-
end
-
end
-
-
1
def test_upload_blob_with_internal_client_success
-
1
@blob_client.stub :create_block_blob, @storage_blob_object do
-
1
assert @blob_client.create_block_blob('testcontainer', 'testblob1')
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Traffic Manager End Point
-
1
class TestCreateTrafficManagerEndPoint < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@end_points = @traffic_manager_client.endpoints
-
2
@endpoint_hash = ApiStub::Requests::TrafficManager::TrafficManagerEndPoint.endpoint_hash
-
end
-
-
1
def test_create_traffic_manager_endpoint_success
-
1
mocked_response = ApiStub::Requests::TrafficManager::TrafficManagerEndPoint.create_traffic_manager_endpoint_response(@traffic_manager_client)
-
1
@end_points.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_traffic_manager_endpoint(@endpoint_hash), mocked_response
-
end
-
end
-
-
1
def test_create_traffic_manager_endpoint_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@end_points.stub :create_or_update, response do
-
2
assert_raises(RuntimeError) { @service.create_or_update_traffic_manager_endpoint(@endpoint_hash) }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Create Traffic Manager Profile
-
1
class TestCreateTrafficManagerProfile < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@profiles = @traffic_manager_client.profiles
-
2
@profile_hash = ApiStub::Requests::TrafficManager::TrafficManagerProfile.profile_hash
-
end
-
-
1
def test_create_traffic_manager_profile_success
-
1
mocked_response = ApiStub::Requests::TrafficManager::TrafficManagerProfile.create_traffic_manager_profile_response(@traffic_manager_client)
-
1
@profiles.stub :create_or_update, mocked_response do
-
1
assert_equal @service.create_or_update_traffic_manager_profile(@profile_hash), mocked_response
-
end
-
end
-
-
1
def test_create_traffic_manager_profile_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@profiles.stub :create_or_update, response do
-
2
assert_raises(RuntimeError) { @service.create_or_update_traffic_manager_profile(@profile_hash) }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Traffic Manager End Point
-
1
class TestDeleteTrafficManagerEndPoint < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@end_points = @traffic_manager_client.endpoints
-
end
-
-
1
def test_delete_traffic_manager_endpoint_success
-
1
@end_points.stub :delete, true do
-
1
assert @service.delete_traffic_manager_endpoint('fog-test-rg', 'fog-test-end-point', 'fog-test-profile', 'external')
-
end
-
end
-
-
1
def test_delete_traffic_manager_endpoint_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@end_points.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_traffic_manager_endpoint('fog-test-rg', 'fog-test-end-point', 'fog-test-profile', 'external') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Delete Traffic Manager Profile
-
1
class TestDeleteTrafficManagerProfile < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@profiles = @traffic_manager_client.profiles
-
end
-
-
1
def test_delete_traffic_manager_profile_success
-
1
@profiles.stub :delete, true do
-
1
assert @service.delete_traffic_manager_profile('fog-test-rg', 'fog-test-profile')
-
end
-
end
-
-
1
def test_delete_traffic_manager_profile_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@profiles.stub :delete, response do
-
2
assert_raises(RuntimeError) { @service.delete_traffic_manager_profile('fog-test-rg', 'fog-test-profile') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Traffic Manager Endpoint
-
1
class TestGetTrafficManagerEndpoint < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@end_points = @traffic_manager_client.endpoints
-
end
-
-
1
def test_get_traffic_manager_endpoint_success
-
1
mocked_response = ApiStub::Requests::TrafficManager::TrafficManagerEndPoint.create_traffic_manager_endpoint_response(@traffic_manager_client)
-
1
@end_points.stub :get, mocked_response do
-
1
assert_equal @service.get_traffic_manager_end_point('fog-test-rg', 'fog-test-profile', 'fog-test-endpoint-name', 'fog-test-endpoint-type'), mocked_response
-
end
-
end
-
-
1
def test_get_traffic_manager_endpoint_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@end_points.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_traffic_manager_end_point('fog-test-rg', 'fog-test-profile', 'wrong-param', 'wrong-param') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Get Traffic Manager Profile
-
1
class TestGetTrafficManagerProfile < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@profiles = @traffic_manager_client.profiles
-
end
-
-
1
def test_get_traffic_manager_profile_success
-
1
mocked_response = ApiStub::Requests::TrafficManager::TrafficManagerProfile.create_traffic_manager_profile_response(@traffic_manager_client)
-
1
@profiles.stub :get, mocked_response do
-
1
assert_equal @service.get_traffic_manager_profile('fog-test-rg', 'fog-test-profile'), mocked_response
-
end
-
end
-
-
1
def test_get_traffic_manager_profile_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@profiles.stub :get, response do
-
2
assert_raises(RuntimeError) { @service.get_traffic_manager_profile('fog-test-rg', 'fog-test-profile') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for List Traffic Manager Profiles
-
1
class TestListTrafficManagerProfiles < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@profiles = @traffic_manager_client.profiles
-
end
-
-
1
def test_list_traffic_manager_profiles_success
-
1
mocked_response = ApiStub::Requests::TrafficManager::TrafficManagerProfile.list_traffic_manager_profiles_response(@traffic_manager_client)
-
1
@profiles.stub :list_all_in_resource_group, mocked_response do
-
1
assert_equal @service.list_traffic_manager_profiles('fog-test-rg'), mocked_response.value
-
end
-
end
-
-
1
def test_list_traffic_manager_profiles_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@profiles.stub :list_all_in_resource_group, response do
-
2
assert_raises(RuntimeError) { @service.list_traffic_manager_profiles('fog-test-rg') }
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Update Traffic Manager End Point
-
1
class TestUpdateTrafficManagerEndPoint < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@end_points = @traffic_manager_client.endpoints
-
2
@mocked_response = ApiStub::Requests::TrafficManager::TrafficManagerEndPoint.create_traffic_manager_endpoint_response(@traffic_manager_client)
-
end
-
-
1
def test_update_traffic_manager_profile_success
-
1
@endpoint_hash = ApiStub::Requests::TrafficManager::TrafficManagerEndPoint.endpoint_hash
-
1
@end_points.stub :create_or_update, @mocked_response do
-
1
assert_equal @service.create_or_update_traffic_manager_endpoint(@endpoint_hash), @mocked_response
-
end
-
end
-
-
1
def test_update_traffic_manager_profile_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@end_points.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_traffic_manager_endpoint(resource_group: 'resource-group', name: 'name', traffic_manager_profile_name: 'traffic_manager_profile_name', type: 'type')
-
end
-
end
-
end
-
end
-
1
require File.expand_path '../../test_helper', __dir__
-
-
# Test class for Update Traffic Manager Profile
-
1
class TestUpdateTrafficManagerProfile < Minitest::Test
-
1
def setup
-
2
@service = Fog::TrafficManager::AzureRM.new(credentials)
-
2
@traffic_manager_client = @service.instance_variable_get(:@traffic_mgmt_client)
-
2
@profiles = @traffic_manager_client.profiles
-
2
@mocked_response = ApiStub::Requests::TrafficManager::TrafficManagerProfile.create_traffic_manager_profile_response(@traffic_manager_client)
-
2
@profile_hash = ApiStub::Requests::TrafficManager::TrafficManagerProfile.profile_hash
-
end
-
-
1
def test_update_traffic_manager_profile_success
-
1
@profiles.stub :create_or_update, @mocked_response do
-
1
assert_equal @service.create_or_update_traffic_manager_profile(@profile_hash), @mocked_response
-
end
-
end
-
-
1
def test_update_traffic_manager_profile_exception_failure
-
2
response = proc { raise MsRestAzure::AzureOperationError.new(nil, nil, 'error' => { 'message' => 'mocked exception' }) }
-
1
@profiles.stub :create_or_update, response do
-
1
assert_raises RuntimeError do
-
1
@service.create_or_update_traffic_manager_profile(resource_group: 'fog-test-rg')
-
end
-
end
-
end
-
end